Kompresi file adalah metode yang digunakan oleh komputer untuk mengurangi ukuran file elektronik atau sekelompok file ke ukuran sekecil mungkin. File ZIP adalah contoh umum dari kompresi file. Ada banyak teknik yang digunakan program komputer untuk mengompresi file, tetapi metode yang paling umum adalah mengganti urutan yang berulang dengan urutan yang lebih kecil. Komputer melakukan ini dengan membuat katalog contoh pertama dan merujuk kembali ke contoh berikutnya. Misalnya, dalam kalimat sebelumnya, huruf “kompres” muncul tiga kali. Komputer mungkin mengompresnya dengan membuat katalog instance pertama dan menyamakan semua instance berikutnya dengan “&cmp”—sehingga mengurangi jumlah huruf, atau karakter, yang diperlukan dan mengurangi ukuran file. Selama file besar, penggantian tersebut dapat menghemat banyak ruang. Perlu dicatat, bagaimanapun, pengguna tidak melihat ini—komputer melakukan semua pekerjaan di latar belakang.
Untuk melacak penggantian yang disingkat, program komputer juga membuat kamus untuk file terkompresi. Dalam dunia kompresi file, kamus adalah daftar frasa asli dan penggantinya. Kamus ini termasuk dalam ukuran file, sehingga juga akan memakan ruang, mengurangi jumlah ruang yang dihemat oleh kompresi. Untuk alasan ini, biasanya kurang efisien untuk mengompresi satu file kecil daripada file besar atau grup.
Program yang melakukan kompresi file beroperasi dengan cara yang sedikit berbeda. Perbedaan ini sebagian besar merupakan hasil dari sesuatu yang disebut algoritma. Algoritma adalah konstruksi matematis yang mencari file untuk pengulangan dan menempatkan referensi sederhana. Pemrogram membuat algoritma kompresi dan menentukan pola dan penggantian yang akan digunakan untuk kompresi. Varians dapat mempengaruhi efisiensi kompresi. Misalnya, dalam frasa “itu adalah waktu terbaik, itu adalah waktu terburuk”, urutan “itu adalah” dan “pertama kali” diulang. Seorang programmer dapat memilih untuk mengganti setiap frase atau mungkin mengganti “it” secara individual dan “of times” secara individual. Perbedaan kecil dalam algoritme ini adalah alasan mengapa beberapa program kompresi file bekerja lebih baik pada beberapa jenis file daripada yang lain.
Beberapa jenis file terkompresi dapat mengekstrak sendiri, artinya file tersebut terbuka secara otomatis saat pengguna mengkliknya—tidak diperlukan program eksternal untuk membuka kompresinya. Untuk membuat file-file ini, program kompresi asli harus menambahkan kode tambahan ke file terkompresi. Untuk alasan ini, file terkompresi yang mengekstrak sendiri seringkali lebih besar dari file yang sama jika dikompresi secara normal. Ini biasanya dianggap sebagai pertukaran yang baik bagi perusahaan yang merilis program untuk diinstal pada komputer rumah. Dengan membuat file self-extracting, memungkinkan pengguna rumahan untuk melewatkan satu langkah dan membuatnya lebih mungkin untuk menginstal perangkat lunak. Untuk membuka kompres file yang tidak mengekstrak sendiri, sejumlah program pihak ketiga tersedia untuk diunduh di Internet.