Sprytne Okazje — promocje, kody rabatowe i wyprzedaże

Kalkulator kompresji Gzip

Sprawdź rozmiar pliku po kompresji Gzip. Oblicz stopień kompresji, oszczędność bajtów i procent zmniejszenia. Testuj teksty, JSON, HTML, CSS. Bezpłatnie.

Bezpieczne (SSL)
Przetwarzanie Lokalne
100% Darmowe
Instrukcja
  • 1
    Wprowadź dane
    Wpisz treść, wklej tekst lub załaduj plik z dysku.
  • 2
    Kliknij przycisk
    Narzędzie natychmiast przetworzy Twoje dane w przeglądarce.
  • 3
    Pobierz wynik
    Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
function runTool() {
  return "Wynik gotowy w 0.1s";
}
244 znaków

Przed kompresją

244 B

rozmiar danych wejściowych

Po kompresji

162 B
OK

strumień GZIP (gzencode, stopień 6)

Stopień kompresji

33,6 %

o ile zmniejszyły się dane; małe dane mogą nawet urosnąć

Format wyjściowy

Base64

zakodowane bajty GZIP-a do wklejenia w kod lub API

H4sIAAAAAAAAA6WNvQ7CMAyE9zyF5blC4m/pzguwIgZDrKqSm1hxoCDUd8cB3oDN99357vCgSYVB6SmZYh9eAQD5zqliD2jjkG6KXYM34+KsBVyN0e/1Zrvbd1+gQqm9aMn4Q5UGc3TCWkYS7AATzyZcqze5unAlPHt2+QxMbEYDt5IjK1PlCHMu0eCaJy3uwswiK/jDxbCEN3l9xY/0AAAA
Silnik woła gzencode(dane, stopień) z walidacją 1–9; stopień 6 to domyślny poziom wczytywanego przykładu
StopieńCharakterKiedy używać
1 Najszybszy (etykieta z selekty) maksymalna prędkość, wynik największy — serwery pod obciążeniem i dane przesyłane bardzo często
2 Szybki lekko lepsze zmniejszenie, wciąż niski koszt procesora
3 Szybki kompromis dla częstych odpowiedzi dynamicznych
4 Umiarkowany pierwsze wyraźne zyski rozmiaru bez dużego kosztu CPU
5 Umiarkowany dobre dla treści tekstowych o średniej powtarzalności
6 Zbalansowany (etykieta z selekty) domyślny poziom zliba i przykładu ładowanego w narzędziu — zacznij od niego
7 Wysoki wolniejszy, marginalnie mniejszy wynik niż 6
8 Wysoki koszt CPU rośnie szybciej niż zysk miejsca
9 Najmniejszy (etykieta z selekty) najmniejszy wynik, najwolniej — archiwa i eksporty budowane jednorazowo
Wartości orientacyjne — porównaj je z kafelkiem „Stopień kompresji” dla swoich danych
Rodzaj danychTypowe zmniejszenieDlaczego
Czysty tekst (proza, kod) 60–70% naturalna powtarzalność słów i struktury języka
HTML 70–75% dużo powtarzalnych znaczników i atrybutów
JSON ok. 80% klucze, cudzysłowy i wcięcia powtarzają się w każdej linii
XML ok. 85% najbardziej gadatliwy format — długie tagi domykane parzysto
Logi (powtarzalne wzorce) ponad 90% identyczne prefiksy, timestampy i komunikaty
JPEG / PNG / MP4 / ZIP ok. 0% dane już skompresowane — GZIP może je tylko powiększyć (narzut nagłówka i CRC-32)

GZIP a Brotli: oba służą do Content-Encoding w HTTP i opierają się na LZ77 plus kodowaniu Huffmana. Brotli zwykle ściska tekst kilkanaście procent lepiej (prekompresja statycznych assetów), ale kompresuje wolniej i w przeglądarkach działa tylko po HTTPS; GZIP jest szybszy i obsługiwany wszędzie — dynamiczne odpowiedzi na żądanie kompresuje się najczęściej nim.

Warto wiedzieć — kompresja GZIP w praktyce

Co to jest GZIP

Bezstratny format kompresji (RFC 1952) oparty na strumieniu DEFLATE (RFC 1951): LZ77 zamienia powtarzające się fragmenty na odwołania, a kodowanie Huffmana skraca bity najczęstszym znakom. Żyje w plikach .gz, archiwach tar.gz i odpowiedziach HTTP z nagłówkiem Content-Encoding: gzip.

Stopnie 1–9: czas kontra rozmiar

Wyższy stopień to mniejszy wynik, ale proporcjonalnie dłuższa praca procesora — powtarzalne dane (logi, JSON, HTML) zyskują najwięcej niezależnie od poziomu, więc dla ruchu na żywo zwykle wystarcza 4–6, a 9 zostaw archiwom kompresowanym raz.

Dlaczego Base64 albo hex

Surowy strumień GZIP jest binarny — nie da się go bezpiecznie wkleić do JSON-a, URL-a ani loga. Base64 (krótszy, zalecany) lub hex (dłuższy, czytelniejszy w debugu) zamieniają bajty na tekst; po drugiej stronie dekodujesz je z powrotem i rozkompresowujesz gzdecode().

Bezpieczeństwo i typowy przepływ

Kompresja liczy się na serwerze w pamięci sesji — do historii narzędzia trafia wyłącznie kliknięcie „Przetwórz”, nie treść danych. Zaznacz „Pobierz jako .gz”, jeśli potrzebujesz prawdziwego pliku binarnego zamiast tekstu Base64/hex; wynik tekstowy skopiujesz albo pobierzesz jako .txt.

Oceń to narzędzie:

Powiązane narzędzia

Inne narzędzia, które mogą Ci się przydać

Kalkulator kompresji Gzip – sprawdź rozmiar przed i po

Gzip to algorytm kompresji bezstratnej używany do przesyłania zasobów sieciowych (HTML, CSS, JS, JSON). Serwer kompresuje, przeglądarka dekompresuje – użytkownik nie widzi różnicy, ale strona ładuje się szybciej. Narzędzie pokazuje jak bardzo twoje dane się skompresują.

kalkulator kompresji gzip gzip stopień kompresji rozmiar po gzip web kompresja pliku

Jak działa kompresja Gzip

Gzip używa algorytmu DEFLATE (LZ77 + kodowanie Huffmana). LZ77: zastępuje powtarzające się sekwencje wskaźnikami do poprzednich wystąpień. Huffman: koduje symbole krótszymi kodami na podstawie częstości. Wynik: powtarzające się wzorce (typowe w HTML/CSS/JS) kompresują się doskonale (60-90% redukcji).

Poziomy kompresji (1-9)

Poziom 1 (najszybszy, najniższa kompresja): przybliżona kompresja, najniższy CPU. Poziom 6 (domyślny nginx/Apache): optymalny balans szybkości i kompresji. Poziom 9 (maksymalny): najlepsza kompresja, ~10-20% wolniejszy od poziomu 6. Dla statycznych zasobów: kompresuj raz do poziomu 9 (pre-compression). Dla dynamicznych: poziom 1-4.

Stopień kompresji różnych typów plików

HTML: 60-85% redukcji (wiele powtarzających się tagów). CSS: 70-85%. JavaScript: 60-80%. JSON API response: 70-90% (klucze i wzorce się powtarzają). Fonty (WOFF2): 0-5% (już skompresowane). Obrazy (JPEG, PNG, WebP): 0-5% (już skompresowane). Wideo: 0-2%.

Brotli vs Gzip vs Deflate

Brotli (Google, 2015): 15-25% lepsza kompresja niż Gzip dla tekstu. Wsparcie: wszystkie nowoczesne przeglądarki (Chrome, Firefox, Edge, Safari). Serwery: nginx (1.11.5+), Apache (mod_brotli). Gzip: powszechny standard, starsze przeglądarki. Deflate: stary wariant, nadal obsługiwany.

Jak liczony jest stopień kompresji

Kalkulator nie szacuje oszczędności z gotowej tabelki – mierzy realną liczbę bajtów. Dane wejściowe trafiają do kompresora dokładnie w takiej postaci, w jakiej je wklejasz lub wczytujesz z pliku, a narzędzie zwraca długość strumienia wynikowego. Kompresja gzip jest bezstratna, więc porównujesz dwa rozmiary tej samej treści: przed i po.

Podstawowy wzór to stopień kompresji = (1 − rozmiar po / rozmiar przed) × 100%. Oszczędność w bajtach to po prostu rozmiar przed − rozmiar po. Obok procentu przydaje się współczynnik kompresji, czyli rozmiar przed / rozmiar po: redukcja o 75% odpowiada współczynnikowi 4:1, bo z każdych 4 bajtów wejścia zostaje 1 bajt. Ten sam wynik opisany na dwa sposoby bywa mylony, dlatego warto podawać jednostkę i podstawę obliczenia.

Na wynik wpływają tylko trzy rzeczy: zawartość danych, wybrany poziom kompresji i wersja użytego kompresora. Format gzip dokłada do strumienia własny nagłówek i sumę kontrolną, więc przy bardzo małych plikach rozmiar po może okazać się większy niż przed. Wynik podawany jest w bajtach, a 1 KiB to 1024 bajty – nie mieszaj KiB z kB, jeśli porównujesz liczby z rozmiarem pliku w systemie.

Przykład: strona HTML o rozmiarze 100 KiB

  1. Przygotuj materiał: pojedyncza strona HTML waży 102 400 bajtów, czyli równo 100 KiB.
  2. Wklej jej zawartość do kalkulatora i zostaw poziom 6, czyli domyślny poziom nginx i Apache.
  3. Odczytaj rozmiar po kompresji: 25 600 bajtów, czyli 25 KiB. To redukcja mieszcząca się w typowym przedziale 60–85% dla HTML.
  4. Policz stopień kompresji: (1 − 25 600 / 102 400) × 100% = (1 − 0,25) × 100% = 75%.
  5. Policz współczynnik i oszczędność: 102 400 / 25 600 = 4,0, czyli 4:1, a każde pobranie oszczędza 102 400 − 25 600 = 76 800 bajtów (75 KiB).
  6. Przełóż to na ruch: 10 000 odsłon tej strony bez kompresji to 1 024 000 000 bajtów (976,6 MiB), a z gzipem 256 000 000 bajtów (244,1 MiB). Różnica to 768 000 000 bajtów, czyli 732,4 MiB transferu mniej.

Tabela referencyjna: typowe oszczędności według typu pliku

Typ zawartościTypowa redukcja rozmiaruPraktyczna wskazówka
HTML60–85%Skompresuj raz przy budowaniu strony i serwuj gotowy plik wynikowy
CSS70–85%Największy zysk przy powtarzalnych selektorach i regułach
JavaScript60–80%Kompresuj po minifikacji, nie przed nią
Odpowiedź JSON z API70–90%Kompresja w locie, wystarczy niski poziom
Fonty WOFF20–5%Format jest już skompresowany, ponowny gzip nic nie da
Obrazy JPEG, PNG, WebP0–5%Zamiast gzip zoptymalizuj samo zdjęcie lub grafikę
Wideo0–2%Nie włączaj gzip dla tych typów – to tylko obciąża serwer

Praktyczne wskazówki przed włączeniem kompresji

  • Mierz cały plik, nie fragment – wynik dla wyciętego kawałka kodu bywa zaniżony, bo kompresor traci powtarzalne wzorce z reszty dokumentu.
  • Porównaj poziomy na tym samym wejściu – poziom 6 kontra 9 to zwykle dziesiąte części procenta różnicy w rozmiarze, ale wyraźny wzrost zużycia CPU.
  • Sprawdź małe pliki – przy krótkich odpowiedziach nagłówek gzip potrafi przeważyć nad zyskiem, więc lepiej zostawić je bez kompresji.
  • Nie kompresuj dwa razy – jeśli plik jest już spakowany albo wysyłany jako gotowy .gz, kolejne przejście da zysk bliski zeru.
  • Testuj na reprezentatywnej próbce – zmierz kilka największych zasobów swojej strony, bo o wyniku decyduje powtarzalność treści, a nie jej długość sama w sobie.

Czego kalkulator nie pokaże

  • Nagłówki HTTP i narzut protokołu – narzędzie zwraca rozmiar samego strumienia, bez nagłówków odpowiedzi i bez narzutu warstwy szyfrowania.
  • Różnice między implementacjami – kompresor w nginx, moduł w Apache i biblioteka w przeglądarce mogą dać nieco inny wynik dla tego samego poziomu.
  • Kompresję wielokrotną i cache – wynik dotyczy jednego przebiegu, a serwer bez buforowania kompresuje każde żądanie od nowa, co kosztuje czas procesora.
  • Koszt dekompresji po stronie odbiorcy – mniejszy transfer nie zawsze oznacza niższe zużycie CPU na urządzeniu użytkownika, zwłaszcza przy bardzo dużych plikach.

Najczęstsze pytania

Jak włączyć kompresję Gzip w nginx?

gzip on; gzip_types text/plain text/css application/javascript application/json image/svg+xml text/xml; gzip_min_length 1000; gzip_comp_level 6; gzip_vary on;. Sprawdzenie: curl -I -H "Accept-Encoding: gzip" URL | grep Content-Encoding. Wynik: "Content-Encoding: gzip" = włączona.

Jak włączyć Gzip w Apache/.htaccess?

AddOutputFilterByType DEFLATE text/html text/css application/javascript application/json . Sprawdzenie: curl -H "Accept-Encoding: gzip" -I URL | grep Content-Encoding.

Co to jest Transfer-Encoding: chunked a Content-Encoding: gzip?

Content-Encoding: gzip: treść jest skompresowana Gzip (dekompresować po odbiorze). Transfer-Encoding: chunked: treść wysyłana w kawałkach (streaming, bez Content-Length). Oba można łączyć: chunked transfer + gzip kompresja. HTTPS już szyfruje dane – to dodatkowa warstwa na kompresję treści.

Jakie pliki NIE warto kompresować Gzip?

Już skompresowane: JPEG, PNG, WebP, AVIF, GIF, MP4, WebM, ZIP, PDF, WOFF2. Małe pliki (<1KB): overhead nagłówka Gzip (18-20 bajtów) jest proporcjonalnie duży. Efekt: nginx gzip_min_length 1000 pomija pliki <1KB.

Jak mierzyć wpływ kompresji Gzip na wydajność?

Chrome DevTools → Network: kolumna "Size" (po kompresji) vs "Content" (oryginał). PageSpeed Insights: "Enable text compression" – audyt. Lighthouse: podobny. WebPageTest: szczegółowe byty per zasób. Cel: zasoby tekstowe > 1KB powinny mieć Content-Encoding: gzip lub br.

Czym różni się stopień kompresji od współczynnika kompresji?

Stopień kompresji to procentowa redukcja rozmiaru, np. 75%. Współczynnik to stosunek rozmiaru przed do rozmiaru po, np. 4:1. Ten sam wynik można opisać na oba sposoby.

Dlaczego plik po kompresji gzip jest większy niż przed?

Format gzip dokłada nagłówek i sumę kontrolną, a przy bardzo małych lub słabo powtarzalnych danych algorytm nie ma czego skracać. Takiego pliku najlepiej w ogóle nie kompresować.

Czy warto kompresować obrazy i fonty gzipem?

Zwykle nie. Obrazy JPEG, PNG, WebP oraz fonty WOFF2 są już skompresowane, więc redukcja wynosi 0–5%. Lepszy efekt da optymalizacja samego formatu.

Jak sprawdzić, czy serwer faktycznie wysyła gzip?

Sprawdź nagłówek Content-Encoding w odpowiedzi serwera, np. w zakładce sieci narzędzi deweloperskich. Jeśli go nie ma, kompresja nie jest włączona dla tego typu pliku.

Czy kompresja gzip wpływa na pozycję strony w Google?

Nie jest osobnym czynnikiem rankingowym, ale skraca czas ładowania, a szybkość strony przekłada się na wyniki w Core Web Vitals.

Powiązane narzedzia: formater JSON API, walidator YAML i konwerter Base64.

Zainstaluj Webp.pl Miej narzędzia we własnej kieszeni!