Codul Gray este un tip de cod binar ciclic brevetat pentru prima dată în 1947, dar nu i s-a primit numele Cod Gray până la începutul anilor 1950, în cererile de brevet ulterioare. Mai exact, codul este un cod binar reflectat, ceea ce înseamnă că ultimele numere din șir pot fi aceleași cu numerele de început, dar în ordine inversă, permițând astfel construirea și extinderea utilității codului binar standard sau natural. Frank Gray, cercetătorul Bell Labs pentru care este numit codul, a dezvoltat acest sistem de numere binare special pentru a ajuta la controlul comutatoarelor electromecanice. Astăzi, codul Gray este utilizat într-o varietate de medii, în special în comunicațiile digitale în care semnalele analogice trebuie convertite în medii digitale.
În primele etape de dezvoltare a codului, accentul a fost în primul rând pe funcționarea mai eficientă a comutatoarelor electromecanice. Comutatoarele mecanice care folosesc codul binar natural pot fi dificil de citit din punct de vedere al poziției. Mai multe întrerupătoare pot schimba poziția simultan, cu poziții de tranziție complicate. În funcție de faza de tranziție, un comutator poate citi într-o poziție atunci când este de fapt într-o stare de tranziție, în drum spre o altă poziție. Înmulțită cu mai multe comutatoare, o citire incorectă a poziției comutatorului poate duce la erori la nivelul întregului sistem și informații false.
Alternativ, doar un comutator își schimbă poziția la un moment dat atunci când se utilizează codul Gray, ceea ce elimină posibilitatea de informații false sau înșelătoare despre poziție, deoarece doar un bit se schimbă la un moment dat. Pe măsură ce dezvoltarea codului a continuat câteva decenii după introducerea inițială a lui Gray, au apărut aplicații suplimentare. De exemplu, codificatoarele rotative și optice folosesc codul Gray, deoarece fiecare secvență sau schimbare de poziție diferă doar cu un bit. De asemenea, corectarea erorilor pentru comunicarea digitală, algoritmii genetici și anumite tipuri de hărți utilizează codul Gray, de asemenea, datorită proprietății de schimbare a unui singur bit asociată codului.
Un cod binar reflectat similar a fost folosit la sfârșitul anilor 1800 în telegrafie. Chiar și mai devreme, matematicienii foloseau codul binar reflectat pentru a rezolva întrebări matematice complexe sau puzzle-uri similare Turnului din Hanoi și puzzle-urilor cu inele antice din China. Deși au fost utilizate, astfel de coduri binare nu au fost standardizate, brevetate sau considerate în alt mod drept drepturi de proprietate până la lucrarea lui Gray la sfârșitul anilor 1940 și începutul anilor 1950. Bell Labs, folosind un instrument cu tub vidat inventat de Frank Gray, a brevetat primul dispozitiv în care semnalele analogice au fost convertite în cod binar reflectat. În cererea de brevet din 1953 pentru dispozitiv, cunoscută sub numele de tub de comunicare cu cod de impuls sau tub PCM, Bell Labs a făcut referire oficial la codul Gray pentru prima dată.