W informatyce, powrót karetki jest jednym ze znaków sterujących w kodzie ASCII, Unicode, EBCDIC i wielu innych kodach. Nakazuje on drukarce lub innemu systemowi wyjściowemu, np. wyświetlaczowi konsoli systemowej, przesunięcie pozycji kursora na pierwszą pozycję w tej samej linii. Najczęściej był używany razem z line feed (LF), przejściem do następnego wiersza, tak że razem rozpoczynają nowy wiersz. Razem, sekwencja ta może być określana jako CRLF.
Funkcje carriage return i line feed zostały rozdzielone z powodów praktycznych:
- Carriage return sam w sobie zapewniał możliwość nadpisania linii nowym tekstem. Mogło to być wykorzystane do produkcji pogrubionych lub akcentowanych znaków, podkreśleń, przekreślonego tekstu i niektórych symboli złożonych.
- Wczesne drukarki mechaniczne były zbyt wolne, aby zwrócić karetkę w czasie potrzebnym do przetworzenia jednego znaku. Dlatego czas spędzony na wysyłaniu podawania linii nie był zmarnowany (często trzeba było wysłać jeszcze kilka znaków, aby upewnić się, że powrót karetki nastąpił przed wysłaniem znaku do druku). Dlatego właśnie powrót karetki był zawsze wysyłany jako pierwszy.
- Wtedy możliwe było również zmieszczenie wielu operacji podawania linii w czasie potrzebnym na pojedynczy powrót karetki – na przykład w przypadku drukowania tekstu z podwójnym odstępem, nagłówków/stopek lub stron tytułowych – aby zaoszczędzić czas drukowania i transmisji bez potrzeby stosowania dodatkowych obwodów lub mechanicznej złożoności w celu „odfiltrowania” niepożądanych dodatkowych sygnałów CR.
Już w 1901 roku kod Baudota zawierał oddzielne znaki powrotu karetki i podawania wiersza.
Wiele programów komputerowych używa znaku powrotu karetki, samego lub z podawaniem wiersza, do sygnalizowania końca wiersza tekstu, ale inne znaki są również używane do tej funkcji (zobacz newline); inne używają go tylko do przerwania akapitu („twardy powrót”). Niektóre standardy, które wprowadzają własne reprezentacje dla kontroli wiersza i akapitu (na przykład HTML) i wiele języków programowania traktują carriage return i line feed jako białą przestrzeń.
W ASCII i Unicode, carriage return jest zdefiniowany jako 13 (lub szesnastkowo 0D); może być również postrzegany jako control+M lub ^M. W języku programowania C i wielu innych językach (w tym wyrażeniach regularnych), na które ma on wpływ, \r
oznacza ten znak.