基本ガイド

改行コードの違い:CRLF・LF・CRはどこで使い分けられているか

更新日:2026-09-17

テキストファイルの「改行」は、見えませんが実体のあるバイトです。しかも1種類ではありません。

3種類ある

名前バイト由来おもに使われる環境
CRLF0D 0A復帰+改行Windows、多くのネットワーク上の仕様
LF0A改行Linux、macOS(現行)、Web
CR0D復帰古いMac OS(9まで)

CR は Carriage Return(キャリッジリターン)、LF は Line Feed(ラインフィード)の略です。もとはタイプライタの動作で、CR が「行の先頭に戻す」、LF が「紙を1行送る」でした。この2つを続けて行うのが CRLF です。

どこで問題になるか

1行にまとまって見える

LF だけのファイルを、CRLF しか改行と認識しない古いソフトで開くと、すべての行が1行につながって見えます。Windowsの標準のメモ帳は以前この挙動でしたが、現在は LF も扱えます。

行末に余計な文字が見える

逆に、CRLF のファイルを LF だけを改行と見るソフトで読むと、各行の末尾に CR が残ります。表示上は見えないことが多いのですが、プログラムで比較すると一致しません。

「見た目は同じなのに一致しない」の原因になります

CSVを読み込んで値を比較したときに、末尾に \r が残っていると別の文字列として扱われます。画面上は同じに見えるため、原因を見つけにくい不具合です。

CSVでは CRLF が標準

CSVの標準的な仕様では、レコードの区切りは CRLF とされています。ただし実際には LF のファイルも広く流通しており、多くのソフトはどちらも読めます。

当サイトのCSV一括変換は CRLF で書き出しています。表計算ソフトや古いシステムに渡す場面を想定した選択です。

値の中に改行が入る場合

CSVでは、セルの値そのものに改行を含められます。その場合は値全体を引用符で囲みます。囲まないと、そこで行が分かれてしまいます。

値の中の改行

名前,備考
山田,"1行目
2行目"

引用符で囲まれた中の改行は、行の区切りではなく値の一部として扱われます。

バージョン管理での扱い

Gitなどのバージョン管理では、改行コードの違いが「全行が変更された」という差分として表れることがあります。WindowsとLinuxで作業する人が混在するとよく起きます。

対策として、リポジトリ側で改行コードをそろえる設定を入れるのが一般的です。ファイルごとに扱いを指定することもできます。

確認のしかた

改行コードは見た目ではわかりません。確認するには次のような方法があります。

  • テキストエディタのステータスバーに表示される(多くのエディタが対応している)
  • 16進数で中身を見るツールで、0D 0A0A かを確かめる
  • 行数を数えるコマンドの結果が想定と合うかを見る

混在しているとき

1つのファイルの中で CRLF と LF が混ざっていることがあります。複数の環境で編集されたファイルや、プログラムで一部だけ書き足したファイルで起こります。

読み込む側が寛容であれば問題になりませんが、行数のずれや比較の失敗につながることがあります。どちらかにそろえておくほうが確実です。

まとめ

  • 改行には CRLF(0D 0A)・LF(0A)・CR(0D)の3種類がある
  • Windowsは CRLF、LinuxとmacOSは LF が中心
  • CSVの標準は CRLF だが、実際は LF も広く使われている
  • 行末に CR が残ると、見た目が同じでも文字列が一致しなくなる
  • 値の中の改行は引用符で囲んで表す

CSVを読み込んで列を選び、まとめて変換できます。文字コードを指定して保存できるので、化けたファイルの作り直しにも使えます。

CSV一括変換を使う →

登録不要・完全無料/入力内容はサーバーに送信されません

この記事を書いた人

都内在住。Web制作・デザインに20年以上携わり、現在はインハウスでWeb制作や改善業務に関わっています。文字コードまわりの不具合に何度も当たってきたので、調べ直した内容を手元のメモとしてまとめ直したものを発信しています。

この記事の位置づけ

仕様と一般的な動作を整理したものです。実際の挙動はブラウザやアプリの実装、受け取り側のシステムによって変わることがあります。業務で使う場合は、実際のデータで往復して確かめておくと安全です。

参考・出典

※2026年9月時点の仕様と、主要なブラウザでの動作にもとづいています。