Kodowanie
Gzip/Deflate ↔ Base64
Kompresja tekstu do Gzip lub Deflate z kodowaniem Base64 wyniku — i odwrotnie. Działa przez Compression Streams API bezpośrednio w przeglądarce.
Base64 by itself doesn't compress anything — quite the opposite, it grows the size by about 33%. To send large text compactly through a text-only channel, it's first compressed with Gzip or Deflate, and only then is the result Base64-encoded.
How to use it
- Compress: paste text and the tool compresses it with Gzip or Deflate (the browser's Compression Streams API) and encodes the result as Base64.
- Decompress: paste a Base64 string of compressed content to get the original text back.
- Pick Gzip or Deflate depending on which format the receiving system expects.
Common uses
- Compactly embedding a large text value (an SVG, a config) in a URL parameter or cookie with a size limit.
- Preparing a compressed payload for an API that accepts Base64-encoded Gzip data.
- Decompressing data received in this format from another system so it can be read manually.
Things to keep in mind
Compression only pays off on sufficiently large, compressible text — on short strings the Gzip header overhead plus the Base64 expansion can actually make the result bigger.
Deflate skips Gzip's headers, so its output is more compact, but the format is less self-describing: the receiving side needs to know in advance that it's Deflate specifically.
Artykuł o tym narzędziu: Gzip + Base64: kompresja danych do przesyłania jako tekst
Najczęstsze pytania
Czym różni się Gzip od Deflate?
Deflate to sam algorytm kompresji bez dodatkowej otoczki, natomiast Gzip to format opakowujący dane skompresowane Deflate w nagłówek z metadanymi oraz sumę kontrolną CRC-32 na końcu. Dlatego dane w formacie Gzip nie są binarnie identyczne z surowym Deflate, mimo tego samego algorytmu wewnątrz.
Dlaczego trzeba wybrać poprawny format przy dekompresji?
Bez nagłówka Gzip dekompresor nie odróżni automatycznie, czy dane to Gzip czy surowy Deflate. Wybranie złego formatu skończy się błędem lub bezsensownym wynikiem, dlatego format trzeba znać albo zgadnąć na podstawie źródła danych.
Czy to narzędzie działa w każdej przeglądarce?
Kompresja i dekompresja korzystają z natywnego Compression Streams API przeglądarki. Jeśli Twoja przeglądarka go nie obsługuje, narzędzie nie zadziała — dane i tak nigdy nie są wysyłane na żaden serwer, cała praca odbywa się lokalnie.
Dlaczego rozpakowanie czasem daje błąd „invalid header"?
Najczęstsza przyczyna to pomylony format: dane skompresowano jako „surowy" Deflate bez nagłówka, a rozpakowuje się jako Gzip (który oczekuje własnego nagłówka i CRC-32), albo odwrotnie. Spróbuj przełączyć format w ustawieniach narzędzia.
Czy kompresja zawsze zmniejsza końcowy rozmiar?
Nie. Przy bardzo krótkich ciągach narzut nagłówków Gzip i zwiększenie wynikające z Base64 mogą przewyższyć zysk z kompresji — takie podejście ma sens tylko dla wystarczająco dużych i dobrze kompresujących się danych tekstowych.