10

What is the meaning of CR + LF?

6
  • Cripes, I read that as "someone texted me crlf" hence the close vote. Nice interpretation, Farseeker. :)
    – EEAA
    Nov 3, 2010 at 5:15
  • @ErikA - I did too, but I decided to make it on-topic. Still belongs on SU though. Nov 3, 2010 at 5:19
  • Is it seriously easier to ask a question on server fault and wait for an answer than to spend 30 seconds googling?
    – micmcg
    Nov 3, 2010 at 5:50
  • @micmg - the idea is that next time someone else googles for CRLF, they find our site and our answers here. Nov 3, 2010 at 9:18
  • Or the already detailed wikipedia entry on newlines? I mean how does this even belong on serverfault, what does it have to do with servers?
    – micmcg
    Nov 3, 2010 at 23:04

2 Answers 2

19

CR LF means "Carriage Return, Line Feed" - it's a DOS hangover from the olden days from when some devices required a Carriage Return, and some devices required a Line Feed to get a new line, so Microsoft decided to just make a new-line have both characters, so that they would output correctly on all devices.

Windows programs expect their newline format in CRLF (\r\n). *nix expect just LF data (\n). If you open a Unix text document in Notepad on windows (earlier than Windows 10 build 1903 released May 2019 which added support for Unix line endings), you'll notice that all of the line breaks disappear and the entire document is on one line. That's because Notepad expects CRLF data, and the Unix document doesn't have the \r character.

There are applications that will convert this for you on a standard *nix distro (dos2unix and unix2dos)

For those wondering, a carriage return and a line feed differ from back in Typewriter days, when a carriage return and a line feed were two different things. One would take you to the beginning of the line (Carriage Return) and a one would move you one row lower, but in the same horizontal location (Line Feed)

4
  • 3
    Carriage Return = Send the cursor (print-head on old teletype systems) to the beginning of the line. Line Feed = Advance the terminal one line (advance the paper one line). In unix and some printers, CR is implied by LF.
    – sysadmin1138
    Nov 3, 2010 at 5:18
  • @sysadmin - I was just editing my answer to include that info ;) Nov 3, 2010 at 5:21
  • @MarkHenderson Did you mean same vertical location in your answer's last line?
    – Vicrobot
    Sep 22, 2018 at 15:18
  • @Vicrobot no, I think he meant what he wrote ("same horizontal location"). The way I understand it is that when you move straight down, only your vertical location changes; your horizontal location stays the same.
    – ma11hew28
    Jan 24, 2021 at 15:27
4

It's a Carriage Return (\r, ASCII code 13) followed by a Line Feed (\n, ASCII code 10).

1
  • Classic case of the first answer gets all the votes. To try and change the world, have an upvote. May 22, 2018 at 19:54