Salah satu ide yang populer dalam pemampatan data adalah apabila frekuensi kemunculan karakter atau simbol pada suatu pesan diketahui, maka terdapat cara mengkodekan karakter, sehingga membutuhkan ruang yang lebih kecil. Ide ini tidaklah baru, salah satu contoh awal pemampatan data adalah kode Morse yang dikembangkan oleh Samuel Morse pada pertengahan abad ke 19. Huruf-huruf yang dikirim oleh telegraf disandikan dengan titik dan garis. Morse mencatat bahwa huruf tertentu terjadi lebih sering dibandingkan yang lain.
Untuk mengurangi rata-rata waktu yang diperlukan dalam mengirimkan pesan, Morse membuat urutan yang lebih pendek untuk huruf-huruf yang terjadi lebih sering seperti e (.), a(.-) dan urutan yang lebih panjang untuk huruf-huruf yang terjadi agak jarang seperti q (--.-) dan j (.---). Ide penggunaan kode yang lebih pendek untuk karakter yang lebih sering terjadi dan kode yang lebih panjang untuk karakter yang jarang terjadi diambil ke dalam bidang komputasi oleh Claude Elwood Shannon dan Robert M. Fano tahun 1950an, ketika keduannya mengembangkan algoritma pemampatan Shannon-Fano.
Beberapa tahun kemudian, David A. Huffman menerbitkan suatu paper tahun 1952 yang meningkatkan kinerja algoritma dengan menamainnya Huffman Coding. Saat ini terdapat berbagai tipe algoritma pemampatan antara lain Huffman, LIFO, LZ77, Dynamic Markov Compression, Block Sorting Lossless, Run Length, Shannon-Fano, Arithmetic dan lain-lain.