In de informatica is de carriage return een van de controletekens in ASCII-code, Unicode, EBCDIC, en vele andere codes. Het geeft een printer, of een ander uitvoersysteem zoals het display van een systeemconsole, de opdracht de positie van de cursor naar de eerste positie op dezelfde regel te verplaatsen. Het werd meestal gebruikt samen met line feed (LF), een verplaatsing naar de volgende regel, zodat ze samen een nieuwe regel beginnen. Samen kan deze reeks worden aangeduid als CRLF.
De carriage return en line feed functies werden gesplitst om praktische redenen:
- Carriage return op zichzelf bood de mogelijkheid om de regel te overprinten met nieuwe tekst. Dit kon worden gebruikt om vette of geaccentueerde tekens, onderstrepingen, doorgestreepte tekst, en sommige samengestelde symbolen te produceren.
- Eerdere mechanische printers waren te langzaam om de wagen terug te sturen in de tijd die nodig was om één teken te verwerken. Daarom was de tijd die werd besteed aan het zenden van de line feed niet verspild (vaak moesten nog meerdere karakters worden verzonden om er zeker van te zijn dat de carriage return had plaatsgevonden voordat een afdrukteken werd verzonden). Daarom werd de carriage return altijd als eerste verzonden.
- Het was toen ook mogelijk om meerdere line feed operaties in te passen in de tijd die nodig was voor een enkele carriage return-bijvoorbeeld voor het afdrukken van tekst met dubbele pagina’s, kop/voetteksten of titelpagina’s-om afdruk- en transmissietijd te besparen zonder de noodzaak van extra schakelingen of mechanische complexiteit om valse extra CR-signalen “uit te filteren”.
Al in 1901 bevatte de Baudot-code afzonderlijke carriage return- en line feed-tekens.
Vele computerprogramma’s gebruiken het carriage return-teken, alleen of met een line feed, om het einde van een regel tekst aan te geven, maar andere tekens worden ook voor deze functie gebruikt (zie newline); andere gebruiken het alleen voor een alinea-einde (een “harde return”). Sommige standaarden die hun eigen representaties voor regel- en paragraafcontrole introduceren (bijvoorbeeld HTML) en veel programmeertalen behandelen carriage return en line feed als witruimte.
In ASCII en Unicode is de carriage return gedefinieerd als 13 (of hexadecimaal 0D); het kan ook worden gezien als control+M of ^M. In de programmeertaal C, en veel andere talen (waaronder reguliere expressie) die erdoor zijn beïnvloed, staat \r
voor dit teken.