Konwerter Base64 na WebP

Zapisuj obrazy WebP zakodowane w Base64 jako pliki albo zamieniaj dane PNG i JPEG w Base64 na WebP, nowoczesny format, który przy podobnej jakości wizualnej zwykle zajmuje mniej miejsca.

Działa w całości w przeglądarce. Nic nie jest wysyłane.

Jak używać

  1. Wklej ciąg Base64 lub URI data:image/webp;base64. Działa też każdy inny format obrazu.
  2. Sprawdź podgląd, wykryty format i rozmiar po dekodowaniu.
  3. W polu „Pobierz jako” pozostaw WebP, aby przekonwertować obraz, lub wybierz „Oryginał”, aby zapisać bajty dokładnie w zdekodowanej postaci.
  4. Pobierz plik .webp i porównaj jego rozmiar z plikiem źródłowym.

Rozpoznawanie danych WebP

WebP jest przechowywany w kontenerze RIFF, tym samym, którego używają pliki dźwiękowe WAV. Plik zaczyna się od tekstu ASCII RIFF, więc jego Base64 rozpoczyna się od UklGR. Kilka bajtów dalej znacznik WEBP potwierdza, że kontener zawiera obraz, a nie dźwięk. Wewnątrz znajduje się obraz stratny (VP8), bezstratny (VP8L) albo plik rozszerzony (VP8X), który dodaje przezroczystość, animację lub metadane. Typ MIME to image/webp.

Dlaczego warto konwertować na WebP

Według pomiarów Google stratne pliki WebP są o około 25–34 procent mniejsze niż pliki JPEG o porównywalnej jakości, a bezstratny WebP jest o około 26 procent mniejszy niż PNG. W przeciwieństwie do JPEG format WebP zachowuje kanał alfa, więc przezroczyste logo i naklejki konwertują się bez problemów. Wszystkie obecne popularne przeglądarki wyświetlają WebP.

Mniejsze pliki mają podwójne znaczenie, gdy obrazy są osadzane: lżejszy obraz to również krótszy ciąg Base64 w kodzie HTML, CSS lub JSON. Po konwersji nowy plik można ponownie zakodować za pomocą narzędzia WebP na Base64.

Wynik nie zawsze jest mniejszy. Drobne ikony, dobrze już skompresowane zdjęcia i płaskie grafiki z niewielką liczbą kolorów czasem wychodzą większe i wtedy lepszym wyborem jest PNG lub JPG. Konwersja w tym narzędziu to także szybki sposób, aby sprawdzić, ile zyska konkretny obraz, zanim zmienisz proces budowania: wklej PNG lub JPEG w Base64, pobierz WebP i porównaj oba rozmiary.

Konwersja za pomocą biblioteki Pillow

Przy przetwarzaniu wsadowym na serwerze ta sama konwersja zajmuje kilka wierszy kodu w Pythonie z biblioteką Pillow:

import base64, io
from PIL import Image

img = Image.open(io.BytesIO(base64.b64decode(b64_string)))
img.save('output.webp', 'WEBP', quality=80)

Najczęściej zadawane pytania

Czy WebP zachowuje przezroczystość?

Tak. WebP obsługuje pełny kanał alfa zarówno w trybie stratnym, jak i bezstratnym, więc przezroczyste obszary pozostają przezroczyste po konwersji.

Czy można zachować animowany WebP?

Pobierz plik jako „Oryginał”, aby zachować wszystkie klatki. Konwersja odbywa się przez element canvas, który przechwytuje tylko jedną nieruchomą klatkę.

Czy wynikowy WebP jest zawsze mniejszy od danych wejściowych?

Nie. Duże zdjęcia i zrzuty ekranu zwykle się zmniejszają, ale małe lub mocno zoptymalizowane obrazy mogą urosnąć. Porównaj rozmiar po dekodowaniu wyświetlany przez narzędzie z rozmiarem pobranego pliku.

Niektóre programy nie otwierają mojego pliku WebP. Co można zrobić?

Starsze programy do przeglądania zdjęć i aplikacje biurowe mogą nie obsługiwać WebP. Wklej ten sam ciąg Base64 i pobierz obraz jako PNG lub JPG.