null-tecknet (även null terminator) är ett kontrolltecken med värdet zero.It finns i många teckenuppsättningar, inklusive de som definieras av baudot-och Ita2-koderna, ISO/IEC 646 (eller ASCII), C0-kontrollkoden, den universella kodade teckenuppsättningen (eller Unicode) och EBCDIC. Den finns på nästan alla vanliga programmeringsspråk. Det förkortas ofta som NUL (eller NULL men i vissa sammanhang används termen för null-pekaren, ett annat objekt). I 8-bitars koder är det känt som en null byte.
den ursprungliga betydelsen av denna karaktär var som NOP—när den skickades till en skrivare eller en terminal gör den ingenting (vissa terminaler visar dock felaktigt det som mellanslag). När elektromekaniska teleprinter användes som datorutmatningsenheter skickades ett eller flera null-tecken i slutet av varje tryckt rad för att ge tid för mekanismen att återgå till den första utskriftspositionen på nästa rad. På stansat tejp representeras karaktären utan hål alls, så ett nytt ostansat tejp fylls initialt med null-tecken, och ofta kan text ”infogas” på ett reserverat utrymme med null-tecken genom att stansa de nya karaktärerna i bandet över nollorna.
idag har tecknet mycket större betydelse i C och dess derivat och i många dataformat, där det fungerar som ett reserverat tecken som används för att beteckna slutet på en sträng, ofta kallad en null-terminerad sträng. Detta gör att strängen kan vara vilken längd som helst med endast overhead av en byte; alternativet att lagra en räkning kräver antingen en stränglängdsgräns på 255 eller en overhead på mer än en byte (det finns andra fördelar/nackdelar som beskrivs i den null-avslutade strängartikeln).