← Powrót do bloga

Narzędzia do kompresji obrazów WebP: wybierz odpowiednie do Twoich potrzeb

Różne osoby chcą zrobić zupełnie inne rzeczy, kompresując WebP: niektórzy chcą zamienić JPG/PNG na WebP, inni chcą skompresować już istniejące pliki WebP, a jeszcze inni muszą obsłużyć animowane WebP. Nie ma idealnych narzędzi, tylko te odpowiednie dla Twoich potrzeb. W tym artykule przedstawiamy re…

Udostępnij

To samo "kompresja WebP" wcale nie oznacza tego samego dla różnych osób:
niektórzy chcą przekonwertować całą grupę JPG, PNG na WebP; inni mają już WebP i chcą go lekko skompresować; jeszcze inni muszą obsłużyć animowane WebP.
Nie ma idealnych narzędzi, tylko te odpowiednie dla Twoich potrzeb. W tym artykule przedstawiamy rekomendacje dla różnych scenariuszy, dla każdego scenariusza podając tylko te najbardziej wygodne.


Zanim zaczniemy: dwie minuty o WebP

WebP w rzeczywistości występuje w trzech formach:

  • Zniekształcony WebP (Lossy): podobny do JPEG, odrzuca detale zgodnie z parametrem jakości, mniejszy rozmiar, odpowiedni do zdjęć, banerów.
  • Bezstratny WebP (Lossless): podobny do PNG, piksele są w pełni zachowane, odpowiedni do zrzutów ekranu, materiałów UI.
  • Animowany WebP (Animated): wieloklatkowe animacje, może być zniekształcony lub bezstratny, powszechnie spotykany w memach i animacjach demonstracyjnych przekonwertowanych z GIF.

Nie jesteś pewien, jaki typ masz, użyj oficjalnego narzędzia Google webpinfo:

bash
brew install webp
webpinfo image.webp

W wyniku VP8 oznacza zniekształcony, VP8L bezstratny, obecność ANIM / ANMF oznacza animację.

Warto wiedzieć jeszcze jedną rzecz: dla zniekształconego WebP ponowne kodowanie o wyższym parametrze jakości powiększy rozmiar pliku, a jakość się nie poprawi – odrzucone detale nie wracają. Dlatego dobre narzędzie do kompresji dla już istniejących obrazów WebP powinno rozpoznać "nie da się skompresować" i nie próbować.


Scenariusz 1: Przekonwertuj JPG / PNG na WebP

To najczęstsze zadanie przy pierwszym kontakcie z WebP.

Dla graficznego interfejsu wybierz XnConvert. Darmowy, wieloplatformowy, możesz włożyć jednocześnie grupę obrazów, ustawić jakość lub tryb bezstratny WebP, a także zmienić rozmiar, nazwę pliku. Do zmiany formatu jest najwygodniejsze.

Dla zintegrowania w procesie budowania wybierz cwebp lub sharp. W projektach stron internetowych lepiej automatycznie obsłużyć to przy spakowywaniu lub przesyłaniu do CDN niż ręcznie:

bash

cwebp: jakość 75, najwolniejsza metoda kodowania, zachowanie profilu kolorów

cwebp -q 75 -m 6 -metadata icc input.jpg -o output.webp

js
// sharp (Node.js)
await sharp('input.jpg').webp({ quality: 75, effort: 6 }).toFile('output.webp')

Nie wiesz, jak ustawić parametry? Najpierw spróbuj Squoosh. Google'owe narzędzie online, obsługuje pojedyncze pliki, ale możesz podzielić ekran, przesuwać suwaki jakości w czasie rzeczywistym. Zrozum, "jaka jakość jest odpowiednia dla tego typu obrazów", a następnie wypełnij parametry w narzędziu do masowej konwersji.

Scenariusz 2: Masz już WebP, chcesz go lekko skompresować

Strona już używa WebP, ale Lighthouse nadal sugeruje, że "obrazy można dalszo skompresować"; albo w folderze materiałów jest dużo WebP, zajmuje miejsce. Wtedy nie potrzebujesz zmiany formatu, ale mniejszego pliku na miejscu.

Użytkownicy Mac: ImgZilla

ImgZilla to nasze narzędzie do kompresji obrazów dla macOS, idealne do tego scenariusza:

  • Kompresja na miejscu, ścieżka bez zmian. banner.webp po kompresji nadal banner.webp, odwołania w kodzie, dokumentacji nie trzeba zmieniać.
  • Cały folder włożony naraz. Rekursywnie skanuje podfoldery, automatycznie pomija pliki ukryte i node_modules; WebP, JPG, PNG, GIF, AVIF, HEIC, SVG przetwarza razem.
  • Nie trzeba ustawiać parametrów. Używa kodera Google libwebp, jakość 75, poziom wysiłku 4, zgodnie z domyślnymi wartościami Squoosh; kanał przezroczystości zachowany na najwyższej jakości, tło nie będzie rozmazane.
  • Nie "wymusza" kompresji. Po ponownym kodowaniu, jeśli plik nie zmniejszył się (współczynnik kompresji < 0.4%), jest oznaczony jako "maksymalnie skompresowany" i zachowany w pierwotnej formie, nie przesyłasz większego pliku i nie tracisz limitu darmowego.
  • Można cofnąć. Oryginał domyślnie trafia do kosza, kliknij prawym przyciskiem myszy "przywróć" dla wybranego pliku.
  • Pełna lokalna obsługa, pliki nie są wysyłane na żaden serwer.

👉 Pobierz ImgZilla w Mac App Store

Inne platformy: Caesium lub TinyPNG

  • Caesium Image Compressor: darmowy i otwarty, działa na Windows, macOS, Linux, obsługuje masową kompresję WebP, można ustawić jakość i zachowanie metadanych.
  • TinyPNG: narzędzie online, również obsługuje WebP. Po prostu wypuszczaj pliki, ale darmowa wersja ma ograniczenia liczby i rozmiaru, obrazy są przesyłane na ich serwer.

Scenariusz 3: Animowany WebP

Dwa typy potrzeb:

Przekonwertuj GIF na animowany WebP: użyj oficjalnego Google gif2webp (dostępne w pakiecie narzędzi libwebp, na Mac brew install webp). Taka sama animacja, animowany WebP zazwyczaj jest znacznie mniejszy niż GIF.

bash
gif2webp -q 75 -m 6 input.gif -o output.webp

Masz już animowany WebP i chcesz go lekko skompresować: wiele narzędzi w przypadku animacji zgłasza błąd lub zachowuje tylko pierwszą klatkę. ImgZilla obsługuje ponowną kompresję animowanego WebP – ponownie koduje klatka po klatce, zachowując liczbę klatek, czas trwania, liczbę pętli, rozmiar płótna, animacja pozostaje taka sama, plik tylko mniejszy. Jak z obrazami statycznymi, jeśli nie da się skompresować, jest oznaczony jako "maksymalnie skompresowany" i zachowany.

Scenariusz 4: Konieczne zachowanie pikseli

UI, zrzuty ekranu, materiały do dalszego edytowania – w takich przypadkach potrzebujesz trybu bezstratnego.

Użyj cwebp:

bash

Czysto bezstratny

cwebp -lossless -z 9 input.png -o output.webp

Prawie bezstratny: minimalne zmiany pikseli, znacznie mniejszy rozmiar niż czysty bezstratny, odpowiedni do zrzutów ekranu i UI

cwebp -near_lossless 60 input.png -o output.webp

Uwaga: ImgZilla dla WebP używa kodowania zniekształconego, nawet jeśli plik był bezstratny. Rozmiar zazwyczaj drastycznie się zmniejsza, piksele nie są już dokładnie takie same. Ponadto usuwa metadane (w tym profile kolorów) z WebP. Dla zwykłych obrazów sRGB nie ma wpływu, dla obrazów z szerokim gamutem (np. Display P3) kolory mogą się nieco różnić w oprogramowaniu do zarządzania kolorami. Jeśli masz rygorystyczne wymagania co do pikseli i kolorów, użyj cwebp lub wydziel te pliki przed kompresją.


Podsumowanie w tabeli

Co chcesz zrobić Rekomendacja Alternatywa
Przekonwertuj JPG / PNG na WebP XnConvert cwebp, sharp (proces budowania)
Sprawdź parametry, pojedyncze pliki Squoosh —
Skompresuj już istniejący WebP (Mac) ImgZilla Caesium
Skompresuj już istniejący WebP (Windows / Linux) Caesium TinyPNG
GIF na animowany WebP gif2webp —
Skompresuj już istniejący animowany WebP ImgZilla własne skrypty używające libwebp
Konieczne zachowanie pikseli cwebp -lossless / -near_lossless —

Linki do pobrania

Narzędzie Platforma Cena Pobierz
ImgZilla macOS 12.3+ Darmowy: 10 plików dziennie Mac App Store
XnConvert Windows / macOS / Linux Osobisty darmowy xnview.com
Caesium Image Compressor Windows / macOS / Linux Darmowy i otwarty saerasoft.com
cwebp / gif2webp / webpinfo Wiersz poleceń Darmowy i otwarty Google oficjalny pobierz, Mac: brew install webp
sharp Node.js Darmowy i otwarty sharp.pixelplumbing.com, npm install sharp
Squoosh Web Darmowy squoosh.app
TinyPNG Web Darmowy z limitem tinypng.com

Na koniec

WebP sam w sobie jest już bardzo wydajnym formatem. Jeśli Twój WebP został wygenerowany przez CDN lub narzędzie budowania z rozsądnymi parametrami, dalsza kompresja może nie przynieść dużych oszczędności, oznaczenie jako "maksymalnie skompresowany" jest normalne; największe oszczędności zazwyczaj dają pliki wyeksportowane z wysoką jakością, przekonwertowane bezstratnie z PNG lub bez dodatkowej obróbki z GIF.

Najpierw użyj webpinfo, aby zobaczyć, jaki typ masz, a następnie wybierz narzędzie na podstawie scenariusza – będzie znacznie szybciej niż próbowanie wielu narzędzi.

ImgZilla obecnie wspiera tylko macOS (12.3 i nowsze), dostępne w Mac App Store. Darmowa wersja dziennie pozwala skompresować 10 plików, limit liczy się tylko przy sukcesie – wypuszczaj pełne foldery WebP i zobacz, ile możesz oszczędzić.

Chcesz mniejsze i szybsze obrazy?

Pobierz ImgZilla i kompresuj lokalnie — Twoje obrazy nigdy nie opuszczają Maca.