Bir iPhone fotoğrafı 3–6 MB. Masaüstünün ekran görüntüsü 2–4 MB. "Kaliteyi kaybetmeyeyim diye PNG kaydettiğin" dosya çoğu zaman 8 MB. Bunu bir portföyle, bir blogla, bir e-posta zinciriyle çarp; 500 KB'lik bir sürümden kimsenin ayırt edemeyeceği görseller için yüzlerce megabayt göndermiş olursun.

Görsel sıkıştırma bu farkı kapatır. Zebra modern görsel kodeklerini WebAssembly üzerinden doğrudan tarayıcında çalıştırır. Dosya cihazında kalır. Çoğu fotoğraf, görünür kalite kaybı olmadan %60–90 daha küçük çıkar.

Before Product photo before background removal
After
Product photo with background removed, showing transparent checkerboard pattern
Aynı fotoğraf, çok daha küçük dosya — ekranda hiçbir fark yok.

Üç adım

  1. Görsel sıkıştırıcıyı aç.
  2. Bir JPG, PNG veya WebP sürükle (25 MB'a kadar). Toplu sıkıştırma için birkaç dosyayı aynı anda bırak — giriş yaptığında 5 dosyaya, Premium'da 15 dosyaya kadar.
  3. Hafif, Orta ya da Güçlü seç, Sıkıştır'a tıkla, sonra İndir. Tek dosya doğrudan iner; birden fazla dosya tek bir ZIP olarak çıkar.

4 MP'lik bir iPhone fotoğrafı Mac'te yaklaşık 2 saniyede biter. 12 MP'lik bir fotoğraf 4–6 saniye sürer. Mobil Safari üstüne birkaç saniye ekler. 15 görsellik bir grup, dosya başına kabaca aynı sürede sırayla işlenir — yükleme olmadığı için hız internetin değil, işlemcin. Bunun yerine bir belgeyi küçültmen gerekiyorsa, aynı yaklaşım PDF sıkıştırıcıda da geçerlidir.

Görseller neden büyür

  • Çözünürlük. 4032×3024 bir iPhone JPEG'i 12,2 milyon piksele sahip. Sıkıştırılmamış hâlde piksel başına 4 bayt olsa bile bu 50 MB'lık ham veri demek. JPEG bunu ~4 MB'a indirir, ama daha akıllı bir kodlayıcı ve biraz daha düşük bir kalite ayarıyla yeniden kodlayarak %60 daha kırpabilirsin.
  • Format seçimi. PNG her pikseli kayıpsız saklar. Keskin metinli ekran görüntüleri veya şeffaflıklı simgeler için doğru seçim. Fotoğraflar için yanlış — JPEG'in seve seve atacağı gürültüyü kodlamak için 4 MB harcıyorsun.
  • Kodlayıcı kalitesi. Tarayıcının kendi JPEG kodlayıcıları temkinli. Zebra, aynı kalitede %10–20 daha küçük dosya için trellis kuantizasyonu ve aşamalı taramalar kullanan ayarlı bir JPEG kodlayıcı kullanır. Aynı görsel, daha küçük dosya.
  • EXIF verisi. GPS koordinatları, kamera modeli, lens, tam düzenleme geçmişi. Bazen yararlı, çoğu zaman ihtiyacın olmayan yüzlerce KB. Zebra yeniden kodlamada EXIF'in çoğunu siler.

Zebra'nın kullandığı üç kodek

Zebra, dosya formatına ve içeriğine göre doğru kodeği seçer:

  • mozjpeg — JPEG girdileri ve alfa içermeyen PNG'lerin otomatik dönüşümü için. Trellis kuantizasyonu kullanarak eşit kalitede tarayıcının kendi kodlayıcılarını ve Photoshop'un "Web için Kaydet"ini %10–20 tutarlı biçimde geçer.
  • oxipng — gerçek şeffaflığı olan PNG'ler için. Çoklu filtre geçişleriyle kayıpsız DEFLATE yeniden optimizasyonu. 1 MB'lık bir PNG simge seti genelde 700–800 KB'a iner; veri bit-tam, sadece daha sıkı paketlenmiş.
  • libwebp — WebP girdileri için. WebP zaten verimli, ama seçilen bir kalite hedefinde yeniden kodlamak yine de %20–40 daha kırpar.

Her üç kodek de jSquash projesi aracılığıyla WebAssembly'ye derlenir. Hepsi tamamen tarayıcı sekmenin içinde çalışır — sunucu yok, yükleme yok, telemetri yok.

Otomatik mod: güvenli olduğunda PNG → JPEG

Çoğu "PNG" dosyasının aslında PNG olmasına gerek yoktur. İnsanlar "kayıpsız = daha iyi kalite" diye düşünüp fotoğrafları PNG olarak kaydeder, sonra 400 KB'lik bir JPEG'in birebir aynı görüneceği yerde 4 MB'lık bir dosyayla kalırlar.

Zebra bıraktığın her PNG'yi kontrol eder: alfa kanalı tamamen opaksa (şeffaflık yoksa) dosya JPEG olarak yeniden kodlanır. Bu, fotoğraf-PNG'lerinde algısal fark olmadan 5–10 kat boyut kazancıdır. PNG gerçek şeffaflık kullanıyorsa (arayüz taslağı, simge, çıkartma) PNG olarak kalır — Zebra alfayı hiç ellemeden onu kayıpsız yeniden optimize eder.

Seçim yapmana gerek yok. Dosyayı bırak. Doğru yolu biz seçelim.

Hafif, Orta, Güçlü

AyarJPEG qWebP qPNG opt. düzeyiTipik tasarruf
Hafif88882%30–50
Orta78784%60–80
Güçlü65656%80–95

Hafif, kalite 88'de herhangi bir normal ekranda orijinalle görsel olarak aynıdır. Basacağın ya da yakınlaştıracağın fotoğraflar için ya da sadece metaveriyi soyup kodlamayı sıkılaştırmak istediğinde kullan.

Orta, kalite 78'de varsayılan. Çıktı A4 basacak kadar keskin, Retina veya mobilde ayırt edilemez. Aksi için özel bir nedenin yoksa bunu seç.

Güçlü, kalite 65'te %200+ yakınlaştırırsan düz alanlarda (gökyüzü, duvar) görünür bozulmalar oluşturur, ama boyutun piksel ayıklamasından daha önemli olduğu e-posta, web paylaşımı ve sohbet için birebir.

Hiçbir şey neden cihazından çıkmıyor

Çoğu ücretsiz görsel sıkıştırıcı — TinyPNG, Compressor.io, ImageOptim Online — dosyanı sunucularına yükler. Bu modelin gerçek maliyetleri var:

  • Görselin başkasının diskine iner. "24 saatte silinir" sözü olsa bile bir saklama penceresi vardır. Kimlik fotoğrafları, özel sohbetlerin ekran görüntüleri ya da özel herhangi bir şey için o pencere yanlış penceredir.
  • İki kat bant genişliği yüklersin. Sunucuya yukarı, sunucudan aşağı. Mobilde yavaş olan kısım budur.
  • EXIF verisi dosyayla birlikte gider. Telefonunun GPS koordinatları JPEG başlığına gömülüdür. Yüklediğinde sunucu onları da okur.

Zebra modern görsel kodeklerini tarayıcı sekmende WebAssembly modülleri olarak çalıştırır. Görsel yerelde çözülür, yeniden kodlanır ve yeniden paketlenir. Ağ çağrısı yok. Saklama penceresi yok. Sayfayı yükledikten sonra çevrimdışı olsan bile sıkıştırma çalışmaya devam eder.

JPG mı, PNG mi, WebP mi — hangisini tutmalı

Sıkıştırmadan sonra kaydetmen gereken format için kısa bir karar ağacı:

  • Gerçek bir sahnenin fotoğrafı, şeffaflık gerekmiyor mu? JPEG. Baskı hariç her şey için kalite 78–85 fazlasıyla yeter.
  • Şeffaflıklı fotoğraf (nadir — genelde bir kesit)? İzleyicin 2022+ tarayıcılar kullanıyorsa WebP. Güvenli yedek olarak PNG.
  • Arayüz ekran görüntüsü, simge, logo, keskin metinli her şey? PNG. Metin çevresindeki JPEG halkalanma bozulmaları çirkin ve düzeltilemez.
  • Animasyon? WebP (ya da çok eski uyumluluk için GIF). Animasyonlu PNG de işe yarar ama desteği düzensiz.
  • Tam tarayıcı desteği olan modern web? Her şey için WebP. Zebra eklediğinde AVIF.

Ne zaman sıkıştırmamalı

  • Düzenleme için ana dosyalar. Orijinalleri tam kalitede tut. Kopyaları sıkıştır. Amaç sadece bir sosyal medya en-boy oranına sığdırmaksa, çoğu zaman daha akıllı ilk adım kaliteyi düşürmek yerine fotoğrafı kırpmaktır.
  • Zaten minik dosyalar. 200 KB altı genelde değmez — yeniden kodlamanın ek yükü kazandığından fazlasına mal olabilir.
  • Keskin metinli ekran görüntüleri. JPEG halkalanma bozulmaları metni mahveder. PNG'de kal — Zebra onu kayıpsız yeniden optimize eder (bu, şeffaflıklı ekran görüntüleri için otomatik olur).
  • A3 ya da daha büyük basacağın her şey. Hafif'te kal ya da sıkıştırmayı atla.

Zebra ayrıca yeniden kodlamanın dosyayı büyüttüğü durumları (zaten optimize edilmiş PNG'ler, düşük kalitede minik JPEG'ler) tespit eder ve küçültüyormuş gibi yapmak yerine sana orijinali geri verir.

Sık sorulan sorular

Ücretsiz mi?
Evet. Günlük kullanım için filigran yok, kayıt yok. Anonim ziyaretçiler günde 2 sıkıştırma alır; giriş yapmış ücretsiz hesaplar 3 alır; premium sınırsızdır.
Fotoğrafım yükleniyor mu?
Hayır. Sıkıştırma, tarayıcında yerelde çalışan WebAssembly kodekleriyle (mozjpeg, oxipng, libwebp) tamamen tarayıcının içinde yapılır. Dosya cihazından hiç çıkmaz.
En büyük dosya boyutu ne?
Görsel başına 25 MB. Bu, neredeyse her telefon fotoğrafını (12 MP bir JPEG genelde 3–6 MB'dır) ve çoğu aynasız RAW dışa aktarımını kapsar.
Görsel kalitesi düşüyor mu?
Hafif (JPEG kalite 88) ekranda orijinalle görsel olarak birebir aynıdır. Orta (q=78) varsayılan — basacak kadar keskin, sosyal medyada ayırt edilemez. Güçlü (q=65), boyutun yakınlaştırmaktan daha önemli olduğu e-posta ve web paylaşımı içindir.
iPhone Safari'de çalışıyor mu?
Evet. iOS 16+ üzerindeki Safari WebAssembly kodeklerini çalıştırır. 10 MP'lik bir JPEG, iPhone 13 veya daha yeni bir cihazda 2–4 saniyede sıkışır.
Toplu sıkıştırma yapabilir miyim?
Evet. Giriş yaptığında tek grupta 5 dosyaya, Premium ile 15 dosyaya kadar bırakabilirsin. Çıktı, orijinallerle aynı adlı JPEG'lerden oluşan tek bir ZIP'tir. Tek dosya doğrudan iner.
PNG'im JPEG olarak neden bu kadar küçülüyor?
PNG kayıpsızdır ve fotoğraf verisini iyi sıkıştırmaz — 4 MB'lık bir PNG çoğu zaman görünür kayıp olmadan 400 KB'lık bir JPEG'e döner. Zebra gerçek şeffaflığı olmayan PNG'leri tespit edip otomatik olarak JPEG'e çevirir. Alfa kanalını gerçekten kullanan PNG'ler PNG olarak kalır (kayıpsız yeniden optimize edilir).
Neden henüz AVIF desteği yok?
AVIF daha iyi sıkıştırır ama WASM'de kodlaması yavaştır (aynı görselde mevcut kodlayıcılardan 5–10 kat daha yavaş). Marjinal olarak daha küçük dosyalar veren yavaş bir araç yerine gerçekten kullanacağın hızlı bir araç sunmayı tercih ederiz. AVIF yol haritasında.
EXIF metaverisini soyuyor mu?
Çoğunlukla evet — yeniden kodlama varsayılan olarak EXIF'i düşürür. Bilerek soymak daha küçük dosyalar elde etmenin yan etkisi, ama aynı zamanda bir gizlilik kazancı.