Algorytm pakowania jpeg polega na pakowaniu kwadratów 8 x 8 pikseli - bloki 8 x 8. Na blokach wykonywana jest dyskretna transformata kosinusowa (DCT). Zamiast wartości pikseli mamy teraz średnią wartość wewnątrz bloku oraz częstotliwości zmian wewnątrz bloku, obie wyrażone przez liczby zmiennoprzecinkowe. W wikipedii jest więcej na ten temat. :-)

Obrazy o małej częstotoliwości pakują się lepiej niż o dużej częstotliwości. Dla uproszczenia szachownica cz-b o boku "oczka" będącego wielokrotnością 8 (8, 16, 24...) spakuje się w miejszy plik niż szachownica o boku "oczka np. 6 czy 4.5 piksela.