El código Gray es un tipo de código binario cíclico patentado por primera vez en 1947, pero no se le dio el nombre de código Gray hasta principios de la década de 1950, en solicitudes de patente posteriores. Específicamente, el código es un código binario reflejado, lo que significa que los últimos números de la cadena pueden ser los mismos que los números iniciales, pero en orden inverso, lo que permite construir y expandir la utilidad del código binario estándar o natural. Frank Gray, el investigador de Bell Labs que da nombre al código, desarrolló este particular sistema de numeración binaria para ayudar a controlar los interruptores electromecánicos. Hoy en día, el código Gray se usa en una variedad de entornos, particularmente en comunicaciones digitales donde las señales analógicas deben convertirse en medios digitales.
Durante las primeras etapas de desarrollo del código, la atención se centró principalmente en el funcionamiento más eficaz de los interruptores electromecánicos. Los interruptores mecánicos que utilizan código binario natural pueden ser difíciles de leer en términos de posición. Varios interruptores pueden cambiar de posición a la vez, con posiciones de transición complicadas. Dependiendo de la fase de transición, un interruptor puede leer en una posición cuando en realidad está en un estado de transición, camino a otra posición. Multiplicado por varios interruptores, una lectura incorrecta de la posición del interruptor puede resultar en errores en todo el sistema e información falsa.
Alternativamente, solo un interruptor cambia de posición a la vez cuando se usa el código Gray, lo que elimina la posibilidad de información de posición falsa o engañosa, ya que solo cambia un bit a la vez. A medida que el desarrollo del código continuó durante varias décadas después de la introducción inicial de Gray, salieron a la luz aplicaciones adicionales. Por ejemplo, los codificadores rotativos y ópticos utilizan código Gray porque cada secuencia o cambio de posición difiere solo en un bit. Asimismo, la corrección de errores para la comunicación digital, los algoritmos genéticos y ciertos tipos de mapas utilizan código Gray, también debido a la propiedad de cambio de bit único asociada con el código.
Un código binario reflejado similar se utilizó a finales del siglo XIX en telegrafía. Incluso antes, los matemáticos usaban código binario reflejado para resolver complejas preguntas o acertijos matemáticos similares a la Torre de Hanoi y los antiguos acertijos de anillos chinos. Aunque se usaron, dichos códigos binarios no se estandarizaron, patentaron ni se consideraron de uso exclusivo hasta el trabajo de Gray a fines de la década de 1800 y principios de la de 1940. Bell Labs, al utilizar un instrumento de tubo de vacío inventado por Frank Gray, patentó el primer dispositivo en el que las señales analógicas se convirtieron en código binario reflejado. En la solicitud de patente de 1950 para el dispositivo, conocido como tubo de comunicación de código de pulso o tubo PCM, Bell Labs hizo referencia al código Gray oficialmente por primera vez.