Bayangkan bila Anda harus mendownload sebuah aplikasi yang terdiri dari ratusan file yang tidak terkompresi. Tak terkira waktu dan bandwidth yang tersita bukan ?

Sebagian besar tipe file digital mengandung pengulangan. File-file tersebut memiliki informasi yang sama yang ditampilkan secara berulang. Aplikasi kompresi file membuang pengulangan-pengulangan tersebut. Alih-alih menampilkan potongan informasi yang sama secara berulang, aplikasi kompresi mencatat informasi tersebut satu kali saja, dan akan menduplikasikannya kembali saat file diekstrak.

Kebanyakan aplikasi kompresi menggunakan variasi algoritma dictionary-based LZ (yang diambil dari dua nama penemu algoritma ini, Lempel dan Ziv) untuk mengecilkan file. Sistem ini membuat semacam katalog dengan deretan angka.

Untuk semakin memperkecil ukuran file, aplikasi kompresi memilih pola apa yang harus dimasukkan dalam katalog. Berbekal katalog pola (bukan kata) inilah aplikasi kompresi memampatkan sebuah file hingga 90% bahkan lebih, terutama pada file yang memiliki banyak pola yang berulang, misalnya pada file-file yang di dalamnya terdapat tag (HTML, XML, TIFF, dan lain-lain).