In de jaren 1950 bedacht David Huffman het eerste compressie-algoritme. Het principe waarop zijn compressiemethode gebaseerd was, leeft nog steeds door in moderne compressie-algoritmen.
Stel je voor dat je een lange zin hebt die begint met "Hallo wereld!". In plaats van elk woord in de zin te schrijven, kun je de zin coderen door elk woord een korte code te geven. Het woord "Hallo" kan bijvoorbeeld de code "001" krijgen en het woord "wereld" de code "101". Dit betekent dat de hele zin kan worden opgeslagen als de reeks codes "001 100!".
Om deze codes te maken, gebruiken we een speciale boomstructuur waarin elke letter of elk woord een tak in de boom is. De vaakst voorkomende letters of woorden staan hoger in de boom en krijgen kortere codes, terwijl minder voorkomende letters of woorden onderaan de boom staan en langere codes krijgen. Wanneer we deze gecodeerde gegevens willen lezen, kunnen we de codes terugvertalen naar de oorspronkelijke woorden of letters.