El carácter nulo (también terminador nulo) es un carácter de control con el valor zero.It está presente en muchos conjuntos de caracteres, incluidos los definidos por los códigos Baudot e ITA2, ISO / IEC 646( o ASCII), el código de control C0, el Conjunto de Caracteres Codificados Universal (o Unicode) y EBCDIC. Está disponible en casi todos los lenguajes de programación. A menudo se abrevia como NUL (o NULL, aunque en algunos contextos ese término se usa para el puntero nulo, un objeto diferente). En códigos de 8 bits, se conoce como un byte nulo.
El significado original de este carácter era como NOP: cuando se envía a una impresora o a un terminal, no hace nada (sin embargo, algunos terminales lo muestran incorrectamente como espacio). Cuando se usaban teleimpresores electromecánicos como dispositivos de salida de computadora, se enviaban uno o más caracteres nulos al final de cada línea impresa para permitir que el mecanismo volviera a la primera posición de impresión en la siguiente línea. En cinta perforada, el carácter se representa sin agujeros en absoluto, por lo que una nueva cinta sin perforar se llena inicialmente con caracteres nulos, y a menudo el texto se puede «insertar» en un espacio reservado de caracteres nulos perforando los nuevos caracteres en la cinta sobre los nulos.
Hoy en día, el carácter tiene mucho más significado en C y sus derivadas y en muchos formatos de datos, donde sirve como un carácter reservado utilizado para significar el final de una cadena, a menudo llamada cadena con terminación nula. Esto permite que la cuerda tenga cualquier longitud con solo la sobrecarga de un byte; la alternativa de almacenar un recuento requiere un límite de longitud de cadena de 255 o una sobrecarga de más de un byte (hay otras ventajas/desventajas descritas en el artículo de cadena terminada en cero).