Kode hamming adalah kode blok koreksi kesalahan. Kode ini dinamai Richard Hamming yang mengembangkannya pada tahun 1950-an. Pada saat itu, Hamming bekerja dengan mesin yang memiliki relay dan menggunakan kartu berlubang untuk membaca data. Karena mereka banyak digunakan, kartu berlubang sering mengalami kesalahan, yang perlu dikoreksi oleh karyawan.

Kode Hamming digunakan untuk pemrosesan sinyal digital dan telekomunikasi. Kode Hamming dihasilkan menurut aturan tertentu. Kode Hamming menggunakan beberapa bit paritas. Bit paritas memberi tahu apakah sekelompok bit genap atau ganjil. Dalam kode hamming, setiap bit data ditutupi oleh beberapa bit paritas. Hal ini memungkinkan untuk mendeteksi kesalahan, dan dalam kasus-kasus tertentu, untuk memperbaikinya juga. Kode hamming menggunakan redundansi. Jika ada tiga bit paritas per kata kode, kata kode harus memiliki panjang 7 ( 2 k - 1 {\displaystyle 2^{k}-1}{\displaystyle 2^{k}-1} , untuk k sebagai jumlah bit paritas). Ini menyisakan 4 bit data pengguna per code word, dalam contoh. Biasanya, ini ditulis sebagai (N,n), di mana angka pertama adalah panjang total kata kode, dan yang kedua adalah jumlah bit untuk data pengguna. Contoh di atas adalah (7,4).

Kode Hamming terpendek yang mungkin adalah (3,1), 2 bit paritas digunakan untuk satu bit data. Kode ini memiliki dua nilai yang valid 000 dan 111 - Kode 001, 010 dan 100 adalah kesalahan transmisi, dan akan ditetapkan ke kata kode yang valid 000. Kemungkinan lainnya 011,101 dan 110 akan diubah ke '111.