Co to jest JPG? Format, który nauczył internet słowa „kompresja”

przez Łukasz | lip 23, 2026

Jeśli któryś format zasługuje na miano fundamentu całej naszej serii — od WebP i AVIF, przez JPEG XL, po PNG, SVG i HEIC — to właśnie JPG. To on sprawił, że web stał się wizualny, i to on nauczył cały świat, że obraz cyfrowy można świadomie zepsuć, żeby ważył mniej. Każdy nowszy format porównuje się do niego, a większość zaczyna od tej samej obietnicy: „mniejsze pliki niż JPEG przy tej samej jakości”. Warto więc wiedzieć, czym dokładnie jest punkt odniesienia.

Na wstępie jedno uporządkowanie, które myli wielu: JPG i JPEG to ten sam format. Różnica w pisowni to tylko relikt starych Windowsów, które ograniczały rozszerzenia plików do trzech liter, więc .jpeg skrócono do .jpg. Sama nazwa pochodzi od komitetu, który format stworzył — Joint Photographic Experts Group — a standard opublikowano w 1992 roku.

Skąd wziął się JPG

JPEG powstał, by rozwiązać jeden konkretny problem: fotografia cyfrowa zapisana wiernie zajmuje ogromnie dużo miejsca, a w czasach modemów telefonicznych przesłanie takiego pliku trwałoby wieczność. Odpowiedź komitetu była radykalna i genialna zarazem — skoro ludzkie oko i tak nie widzi wszystkiego, to po co to wszystko zapisywać. JPEG jest formatem stratnym z założenia: świadomie wyrzuca część informacji, licząc na to, że akurat tej części i tak byś nie zauważył.

I ten zakład zwykle się opłaca. Dobrze zapisany JPEG potrafi być kilkanaście razy mniejszy od wiernego oryginału, a różnicy gołym okiem nie widać. To właśnie dzięki temu kompromisowi zdjęcia w ogóle pojawiły się w sieci na masową skalę — a potem w każdym aparacie cyfrowym i każdym telefonie.

Jak JPG „psuje” obraz, żebyś tego nie zauważył

Warto zrozumieć mechanizm, bo z niego wynika wszystko, co w JPEG-u dobre i złe. Format opiera się na trzech sztuczkach, które wykorzystują ograniczenia ludzkiego wzroku.

Pierwsza to podpróbkowanie koloru. Oko jest znacznie czulsze na jasność niż na barwę, więc JPEG zapisuje informację o jasności w pełnej rozdzielczości, a o kolorze — w zredukowanej. Połowę danych o barwie po prostu wyrzuca, a ty tego nie widzisz.

Druga to transformata kosinusowa i kwantyzacja. Obraz jest dzielony na bloki 8×8 pikseli, a każdy blok przekładany z „mapy pikseli” na „przepis, ile w nim jest jakich wzorów”. Drobne, ledwie widoczne wzory (najsubtelniejsze szczegóły) są następnie zaokrąglane albo zerowane — i to jest właśnie moment, w którym informacja znika bezpowrotnie. Im mocniejsza kompresja, tym więcej się zeruje.

Trzecia to sam suwak jakości. To, co w programie graficznym nazywa się „jakością 80″ czy „jakością 60″, steruje właśnie agresywnością tego zaokrąglania. Wysoka jakość — mało wyrzucone, plik większy. Niska jakość — dużo wyrzucone, plik mały, ale zaczynają wyłazić artefakty.

Artefakty, o których warto wiedzieć

Skoro JPEG coś wyrzuca, to przy zbyt mocnej kompresji widać, czego zabrakło. Charakterystyczne są dwa objawy. Blokowanie — obraz rozpada się na widoczne kwadraty 8×8, bo każdy blok kompresowany jest osobno. I ringing, czyli „duchy” wokół ostrych krawędzi, zwłaszcza wokół tekstu na jednolitym tle — i to jest zarazem powód, dla którego JPEG jest fatalnym wyborem do zrzutów ekranu, logotypów czy grafik z ostrymi liniami. Do tego dochodzi rzecz, o której mało kto pamięta: strata pokoleniowa. Każdy ponowny zapis JPEG-a to kolejna kompresja stratna nałożona na poprzednią, więc plik otwierany, edytowany i zapisywany wielokrotnie stopniowo się degraduje. JPEG to format do finalnego zapisu, nie do wielokrotnej obróbki.

JPG kontra nowsze formaty

Na tle WebP, AVIF czy JPEG XL stary JPEG wypada dziś słabo pod względem czystej efektywności — te formaty dają zwykle znacznie mniejsze pliki przy tej samej jakości, a do tego oferują rzeczy, których JPEG nie ma: przezroczystość, lepsze radzenie sobie z krawędziami, tryb bezstratny. JPEG XL potrafi wręcz przepakować istniejący plik JPEG, odzyskując około 20% wagi bez straty jakości — to niejako „JPEG doładowany”.

A jednak JPEG ma jeden atut, którego żaden z następców nie pobił: działa absolutnie wszędzie. Każda przeglądarka, każdy program graficzny, każdy klient poczty, każdy system od trzech dekad. To czyni go niezniszczalnym uniwersalnym fallbackiem — ostatnim ogniwem łańcucha, które zawsze się otworzy. Dlatego nawet dziś rekomendowany schemat dostarczania zdjęć to AVIF → WebP → JPEG: nowoczesny format dla tych, którzy go obsłużą, a JPEG jako sieć bezpieczeństwa dla całej reszty.

Gdzie zaczyna się realny problem

Najczęstszy błąd w praktyce to używanie JPEG-a tam, gdzie nie powinien się pojawić — do grafik z ostrym tekstem, logotypów, zrzutów ekranu — gdzie jego artefakty rujnują ostrość, a PNG albo SVG dałyby czysty wynik. Drugi błąd to zapisywanie JPEG-a w jakości 100 „na wszelki wypadek”, co daje ogromne pliki bez realnego zysku jakości, albo odwrotnie — przesadna kompresja psująca zdjęcia. Trzeci to serwowanie samego JPEG-a w czasach, gdy większość odbiorców obsłużyłaby lżejszy AVIF czy WebP.

To wszystko sprowadza się do tej samej zasady, która przewija się przez całą naszą serię: właściwy format i właściwe ustawienia do właściwego zadania — JPEG na zdjęcia dostarczane szeroko, nowocześniejszy format tam, gdzie się da, a PNG lub SVG na grafikę i tekst. Tak podchodzimy do tego w Studio iFOX: dobór formatu i poziomu kompresji pod konkretny obraz i pod Core Web Vitals, a nie jeden zapis „na wszystko”. A samą konwersję zdjęć do właściwych formatów i wag ułatwia ImgOpti v2.

Puenta

JPG to format, który nie jest najlepszy w niczym z osobna, a mimo to pozostaje najważniejszy. Nauczył internet, że obraz można świadomie uprościć, wygrał uniwersalnością i do dziś jest wspólnym mianownikiem całego webu. Jego następcy robią to samo lepiej i mniejszym kosztem — ale wciąż mierzą się względem niego, a nie odwrotnie. Traktuj go więc jak to, czym naprawdę jest: doskonały format finalnego zdjęcia i niezawodny fallback, którego nie należy używać do grafiki ani zapisywać w kółko. Reszta serii to warianty na temat, który JPEG postawił pierwszy.

Agent kończy, ale zadania nie wykonał

Agent kończy, ale zadania nie wykonał

Objawy Agent odpowiada: „Przygotowałem i wysłałem potwierdzenie do klienta." Potwierdzenie nie zostało wysłane. Albo: „Zaktualizowałem wszystkie rekordy" — zaktualizował trzy z dwunastu. Albo: „Nie znalazłem żadnych zamówień" — bo narzędzie zwróciło błąd, którego nikt...

Agent zrobił coś, o co nikt nie prosił

Agent zrobił coś, o co nikt nie prosił

Objawy Operacja, której nikt nie zlecił. Dane wysłane pod adres, którego nie ma w żadnej konfiguracji. Rekord zmieniony poza zakresem zadania. Odpowiedź, z której wynika, że agent dostał instrukcje od kogoś innego niż ty. Cecha wspólna: technicznie wszystko zadziałało...

Agent zrobił to samo dwa razy

Agent zrobił to samo dwa razy

Objawy Ten syndrom różni się od pozostałych jedną rzeczą: objaw widzi klient, nie ty. Trzy identyczne wiadomości w skrzynce. Dwa zamówienia zamiast jednego. Podwójne obciążenie. Duplikaty rekordów, które ktoś zauważa tydzień później. W twoim dzienniku wszystko wygląda...

Agent gubi wątek w długim zadaniu

Agent gubi wątek w długim zadaniu

Objawy Pierwsze kroki idą wzorowo. Po kilkunastu agent zaczyna się rozjeżdżać. Przestaje przestrzegać reguły z promptu systemowego, której trzymał się na początku. Zmienia format odpowiedzi w połowie zadania. Wraca do czegoś, co już ustalił, i ustala to inaczej....

Agent podaje dane, których nie ma

Agent podaje dane, których nie ma

Objawy Numer zamówienia w idealnym formacie, którego nie ma w bazie. Kwota, której w dokumencie nie ma. Nazwa pola API, które nigdy nie istniało. Cytat z regulaminu, brzmiący dokładnie jak reszta regulaminu i w nim nieobecny. Cecha wspólna wszystkich tych przypadków:...

Działał wczoraj, dziś nie działa

Działał wczoraj, dziś nie działa

Objawy Nic się nie wywala. Nie ma wyjątków, nie ma timeoutów, dziennik wygląda tak samo jak zawsze. Po prostu odpowiedzi są gorsze. Postacie, w jakich to się objawia: Jakość. Agent zaczyna pomijać kroki, które wcześniej wykonywał, albo odpowiada ogólniej. Format....

Agent wybiera złe narzędzie

Agent wybiera złe narzędzie

Objawy Agent odpowiada nie na to pytanie. Pobiera listę zamówień, gdy pytano o jedno konkretne. Odpowiada z pamięci, choć miał sprawdzić w bazie. Albo sięga po właściwe narzędzie i wpisuje w argumenty coś, czego nie da się użyć. Sygnał, który odróżnia ten syndrom od...

Agent kręci się w kółko

Agent kręci się w kółko

Objawy Agent wykonuje kolejne obroty pętli, nie zbliżając się do zakończenia zadania. W dzienniku widać jedną z trzech postaci. Powtórzenie. To samo narzędzie, te same argumenty, raz za razem — czasem dziesiątki razy pod rząd. Oscylacja. Agent wywołuje na przemian dwa...