シルギア

改行コード・空白変換の使い方|LF/CRLFの違いと整形の順序

公開日:2026年9月1日 運営:シルギア(Analyzegear, Inc.) 対象ツール:改行コード・空白変換

プログラムのソースコードや設定ファイル、CSV、コピペで集めたメモ。こうしたテキストは、見た目は同じでも「改行コード」や「空白」が環境ごとにバラバラになりがちです。このツールは、貼り付けたテキストの改行コードを検出して1種類へ統一し、あわせてタブとスペースの変換や無駄な空白の掃除をまとめて行います。ここでは、それぞれの機能が何をしていて、どういう順番で効くのかを、具体的な変換の前後例とともに説明します。

改行コードとは — LF・CRLF・CRの違い

改行コードは「行の区切り」を表す、目に見えない制御文字です。代表的なものが3種類あります。

  • LF(\n): ラインフィード。Unix系・macOS・Web の標準。ソースコードやWebで最も無難な選択肢です。
  • CRLF(\r\n): キャリッジリターン+ラインフィード。Windows のメモ帳や多くのWindowsアプリの標準です。
  • CR(\r): 単独のキャリッジリターン。Mac OS 9 以前などで使われた古い形式で、今はほとんど見かけません。

このツールに文章を貼り付けると、入力欄の下に検出した改行コードが表示されます。1種類だけなら「LF」のように、複数混ざっていれば「混在(CRLF + LF)」のように示され、文字数と行数も一緒に確認できます。文字数は改行を除いたコードポイント数で数えるため、絵文字などのサロゲートペアも1文字として扱います。

なぜ改行コードの混在が問題になるのか

中身の文章がまったく同じでも、改行コードが違うとコンピュータにとっては別のバイト列です。そのため、実害はいくつもの形で表面化します。

  • 差分(diff)が汚れる: Git などで、1文字も直していない行が「全部変更された」ように見え、レビューが困難になります。
  • スクリプトが動かない: シェルスクリプトの行末に CR が残ると、コマンドが見えない文字ごと解釈されて「そんなコマンドは無い」と怒られることがあります。
  • 表示が崩れる: 古いエディタで LF のファイルを開くと改行が無視され、全行がつながって表示される場合があります。

1つのファイルに LF と CRLF が混在していても、「改行コードの統一」で LF などを選べば、まとめて1種類に揃えられます。迷ったら、WebやソースコードはLF、Windows専用のバッチ等はCRLF、と覚えておくと安全です。

空白まわりの整形機能と使いどころ

改行の統一に加えて、コードやデータでよく必要になる空白の掃除もまとめて行えます。それぞれ役割が違います。

  • インデント変換: タブ→スペースは行内のすべてのタブを、指定した幅(2・4・8)のスペースへ置き換えます。行頭スペース→タブは逆に、行頭の連続スペースを幅ごとに1つのタブへまとめます。プロジェクトの規約に合わせるときに使います。
  • 行末の空白を削除: 各行の末尾に残った半角スペース・全角スペース・タブを取り除きます。意味のない空白差分を消せるので、コミット前の掃除に向いています。インデントは残るので、コードでも安全です。
  • 各行の先頭・末尾をトリム: 末尾に加えて行頭の空白も削除します。インデントごと消えるので、箇条書きや文章の左揃えを整えたいときに。コードのインデントを保ちたい場合は使わないでください。
  • 全角スペース→半角: 目に見えにくい全角スペース(U+3000)を半角へ置換します。行の途中の全角スペースが原因の不具合対策に有効です。
  • 空行の扱い: 「まとめる」は連続した空行を1行に圧縮し、「削除」は空行をすべて取り除きます。どちらも空白だけの行を空行として扱います。

適用される順序 — 結果が予測できる理由

複数のオプションを同時に選んだとき、どれが先に効くかで結果は変わります。このツールは順序を固定しているため、同じ入力・同じ設定なら結果は常に同じになります。実際の流れはこうです。

  1. 元の改行コードを取り除いて行に分割する
  2. 全角スペース → 半角スペース
  3. インデント変換(タブ⇄スペース)
  4. 各行のトリム(先頭・末尾)
  5. 行末の空白を削除
  6. 空行の扱い(まとめる/削除)
  7. 選んだ改行コードで再結合

この順序には意味があります。たとえば全角スペースを先に半角へ直してからインデント変換を行うので、全角スペースが混じったインデントも正しく処理できます。トリムや行末削除を空行処理より前に行うため、「空白だけの行」も空行として正しく認識され、まとめる・削除の対象になります。

具体的な変換の前後例

実際に手を動かしたときの結果を、いくつか挙げます。

  • タブ→スペース(幅4): 行頭にタブが2つ並んだ「[Tab][Tab]name」は、8個のスペース+nameになります。この行の文字数は8+4で12文字です。
  • 行頭スペース→タブ(幅4): 行頭スペース6個の「 x」は、4個で1タブにまとまり、余った2個はそのまま残るため「[Tab] x」になります。端数のスペースは切り捨てず保持されます。
  • 行末の空白削除: 「foo 」(末尾に半角スペース3個)は「foo」になります。
  • 連続空行をまとめる: A・空・空・空・B の5行は、A・空・B の3行に圧縮されます。段落の区切りは1行残るので読みやすさは保てます。
  • すべての空行を削除: A・空・B・空・C は、A・B・C の3行に詰まります。

統計の数え方も具体例で。CRLFで区切られた「ab/cd/ef」の3行は、改行を除いた文字数が6文字、行数は3行と表示されます。CRLFをLFに統一すると行末が1行あたり2バイトから1バイトへ減るため、100行のファイルなら約99バイト小さくなります。

ブラウザ内処理と、使うときの注意

このツールは、入力したテキストをサーバーへ送信しません。変換はすべてあなたの端末のブラウザ内で完結するため、ソースコードやログ、社外に出したくないメモでも安心して整形できます。オフラインでも動作し、ホーム画面に追加すればアプリのように使えます。

注意点もあります。行末の空白削除と各行トリムは目的が近いですが、インデントを保ちたいコードでは行末削除だけを選ぶのが安全です。トリムは行頭の空白も消すため、意図せずインデントが崩れることがあります。また「そのまま(変更しない)」でも、空行の削除やまとめで行数が変わった場合は、元テキストで最も多かった改行コードに統一される点に注意してください。仕上がりが想定と違うときは、チェックを一つずつ外して原因を切り分けると、狙った整形にたどり着けます。

「改行コード・空白変換」を使ってみる →

ほかの記事

文字・単語の出現頻度カウントの使い方|単語・文字・N-gramの違いと日本語での見方 点字変換の使い方と六点点字の仕組み|五十音の規則を検算で理解 タイピング速度テスト|CPM・WPM・正確率の測り方と上達のコツ 原稿用紙の枚数の数え方|400字詰めの基本と2つの換算方式 電話で聞き間違いを防ぐ通話表|NATOコードと和文通話表の使い方 モールス信号の基礎|短点・長点の読み方とSOSの由来

記事一覧をすべて見る →