仕様と根拠
改行の数え方
Unicode の UAX #14(改行規則)は、CR の直後に LF が続くときは 1 つの改行とし、LF・CR・NL(U+0085)・BK(VT・FF・U+2028・U+2029)を強制改行と定めています。このツールはこの定義に従って文章を行に分け、各行の改行の種類をそのまま保ったまま、空行の連続だけを減らします。
空行の判定
空行は、何も書かれていない行です。設定で「空白だけの行も含める」を選ぶと、半角スペース・タブ・全角スペース(U+3000)だけの行も空行として数えます。連続する空行のうち、指定した本数を超える部分から後ろを削除し、先頭側の空行を残します。
削除の記録
削除した行数と、元の文章の何行目から何行目までを削除したかを指摘に示します。末尾の改行のない最終行や、改行が一つもない文章も扱えます。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| Unicode UAX #14 Unicode Line Breaking Algorithm(Rev 57・2026-09-01) | 2026年10月29日 | 5.1 BK・CR・LF・NL のクラス定義。CR LF は 1 つの改行 |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- コードブロックや詩のように、空行に意味のある文章かどうかは判定しません。圧縮後の文章を確認してから使ってください。
- 行末の空白の除去や、先頭・末尾の空行の整理、字下げの変更はしません。
- 空白だけの行は、設定で選んだときだけ空行とみなします。全角スペース以外の特殊な空白(U+00A0 など)は空白とみなしません。
- 改行の種類を統一する処理は含みません。CSV の改行コード統一は専用の道具で行います。
ご利用にあたって
- 入力した文章はブラウザの中だけで処理し、サーバーへは送信しません。ただし、コピーやダウンロードした結果の扱いにはご注意ください。
- 圧縮後の文章は、元の文章と行番号が変わります。行番号を使った指摘や参照がある場合は注意してください。