Opracowana w 1960 roku przez Davida Huffmana, opiera się na statystycznym rozkładzie prawdopodobieństwa wystąpienia symboli w strumieniu danych wejściowych. Celem metody jest redukcja nadmiarowości kodu do reprezentacji poszczególnych symboli. Podstawą metody jest budowa drzewa Huffmana. Drzewo budowane jest od liści do korzenia. Każdy liść reprezentuje pojedynczy symbol z dziedziny danych. Wartość liścia oznacza liczbę wystąpień symbolu w strumieniu danych.