§

Wklej lub wpisz tekst, który chcesz skompresować.

W przypadku danych binarnych (np. obrazów, dokumentów) skorzystaj z poniższego formularza przesyłania plików.
§

Output

gzip
Oryginał (bajty): 0 · Skompresowane (bajty): 0 · Stosunek:
§

Kompresuj pliki za pomocą GZIP

Wybierz plik do przesłania i skompresowania.

Przeciągnij i upuść plik tutaj lub kliknij, aby wybrać

Polskie zespoły platformowe kompresują payloady gzipem wszędzie tam, gdzie Brotli jeszcze nie wszedł: w odpowiedziach Lambdy na OChK i Beyond.pl, w ingestach metryk APM ładowanych do wewnętrznych instancji obserwowalności, w obiektach S3-kompatybilnych w T-Mobile Cloud uruchamiających dalsze procesy ETL oraz w wartościach KV brzegowych usług, gdzie każdy zaoszczędzony bajt wlicza się do rachunku. Integracje z KSeF i e-Doręczeniami także korzystają z wariantu RFC 1952, by transgraniczne warstwy cache mogły serwować bajty bez ponownego pakowania. Ten kompresor działa wyłącznie w przeglądarce przez natywne CompressionStream API — przydatny do przygotowania skompresowanych fikstur testowych bez angażowania serwera buildowego ani runnera CI.

Czym jest kompresja GZIP?

GZIP to bezstratny format kompresji plików zdefiniowany przez RFC 1952. Opakowuje on ładunek wytworzony przez algorytm DEFLATE (RFC 1951), który łączy odniesienia wsteczne LZ77 z kodowaniem Huffmana, aby skompresować powtarzające się dane do zwartego strumienia bajtów.

Jak działa kompresja GZIP?

Twoje dane wejściowe są przetwarzane w całości w przeglądarce za pomocą natywnego API CompressionStream('gzip'). Główne kroki to:

  1. Narzędzie konwertuje tekst lub plik na strumień bajtów (UTF-8 dla danych tekstowych).
  2. Te bajty są przepuszczane przez CompressionStream skonfigurowany dla formatu gzip.
  3. Przeglądarka stosuje DEFLATE: przejście LZ77 z ruchomym oknem znajduje powtarzające się sekwencje, a kodowanie Huffmana przypisuje krótsze kody częstym symbolom.
  4. Wokół ładunku DEFLATE owijany jest 10-bajtowy nagłówek gzip i 8-bajtowa stopka (CRC32 oryginalnych danych plus oryginalna długość modulo 2^32), tworząc standardowy kontener .gz.
  5. Wynik jest renderowany jako Base64 lub szesnastkowy dla danych tekstowych lub oferowany jako pobieralny plik .gz dla danych binarnych.

Dlaczego kompresować za pomocą GZIP?

  • Mniejsze ładunki: tekst, JSON, HTML, CSS i kod źródłowy zwykle kurczą się do ułamka pierwotnego rozmiaru.
  • Standard branżowy: GZIP jest rozumiany przez praktycznie każdy serwer HTTP, CDN, przeglądarkę, narzędzie archiwizujące i bibliotekę standardową języków programowania.
  • Prywatność: kompresja odbywa się w całości w przeglądarce. Dane wejściowe nigdy nie trafiają na nasze serwery.
  • Gotowe na podróż w obie strony: wynik dekompresuje się z CLI gunzip, z nagłówkiem HTTP Content-Encoding: gzip oraz z dowolnym czytnikiem RFC 1952 w Pythonie, Node.js, Go, Javie czy Ruście.

Jakie są typowe zastosowania kompresji GZIP?

GZIP jest używany w całym internecie i w narzędziach wiersza poleceń:

  • Transfer HTTP: serwery webowe kompresują odpowiedzi GZIP, dzięki czemu strony ładują się szybciej w sieci.
  • Archiwizacja logów: długoterminowe logi serwera są przechowywane jako pliki .gz w celu zmniejszenia zużycia dysku.
  • Kopie zapasowe i pakiety: tarballe (.tar.gz) kompresują całe drzewa katalogów do przenośnej dystrybucji.

Jak wygląda przykład kompresji GZIP?

Dokument JSON o rozmiarze 1 KB z wieloma powtarzającymi się nazwami pól zazwyczaj kompresuje się do około 200–300 bajtów — czterokrotne do pięciokrotne zmniejszenie rozmiaru. Duże logi tekstowe często kompresują się o 90% lub więcej. Dane wejściowe już skompresowane (JPEG, PNG, MP4, ZIP) nie skurczą się dalej i mogą nawet urosnąć o kilka bajtów przez ramki GZIP.

Ten kompresor GZIP wytwarza standardowy wynik RFC 1952 bezpośrednio w przeglądarce. Niezależnie od tego, czy zmniejszasz ładunek przed transmisją, czy tworzysz plik .gz do archiwizacji, wynik współdziała z każdym narzędziem obsługującym GZIP w sieci.