テキストの整形や比較は、その場でぱっと済ませたい作業ばかりです。ところが「JSON 整形」「文字数カウント」で検索して出てくるサイトの多くは、入力した内容をサーバーに送って処理します。APIのレスポンス、設定ファイル、まだ公開していない原稿、顧客名の入った一覧——実際に整形したいテキストは、たいてい他人のサーバーに貼りたくないものです。
OFFiler のテキストツールはすべてブラウザ内で完結します。入力した文字列はページの外に出ず、通信も発生しません。以下では、9つのツールの使い分け、処理の仕組み、扱えるサイズ、そしてよくある質問をまとめています。
目的別・テキストツールの選び方
数える・比べる
「文字カウント」は、文字数・空白を除いた文字数・単語数・行数・段落数を同時に表示します。日本語のように単語を空白で区切らない文章では文字数が基準になり、英文では空白で区切られたまとまりを単語として数えます。文字数制限のある応募原稿や、SNSの投稿文の下書きに向いています。
2つのテキストの違いを知りたいときは「テキスト比較」です。最長共通部分列(LCS)というアルゴリズムで行単位の差分を求め、追加された行・削除された行を色分けして表示します。設定ファイルの新旧比較、契約書の改訂前後の確認、コードの断片の突き合わせなどに使えます。
整形する・書き換える
「JSONフォーマッター」は、1行に潰れたJSONをインデント付きに展開し、逆に空白を取り除いて最小化することもできます。構文エラーがある場合は、エラーの内容と発生した行・列を示すので、どこで壊れているかをすぐ特定できます。APIのレスポンスを読むときや、設定ファイルの記述ミスを探すときに役立ちます。
決まったパターンでまとめて書き換えたいときは「正規表現置換」です。g・i・m・s の各フラグに対応し、入力しながらマッチした箇所がハイライトされ、マッチ件数も表示されます。置換結果はその場でプレビューされるので、思わぬ箇所に当たっていないか確認してから使えます。
「テキスト変換」は表記ゆれの統一に使います。大文字・小文字、タイトルケース、camelCase・PascalCase・snake_case・kebab-case・CONSTANT_CASE への変換、全角と半角の相互変換、改行コード(CRLF / LF / CR)の統一、前後の空白の除去や連続スペースの圧縮などをまとめて行えます。
行を扱う・書き溜める
リスト状のデータを扱うときは「行操作ツール」が効きます。重複行の削除、昇順・降順・ランダムの並べ替え、空行の削除、各行の前後の空白除去、接頭辞・接尾辞の一括付与、行番号の付与と削除に対応しています。メールアドレスの一覧から重複を除く、コピーした一覧に引用符を付けて配列にする、といった作業が数クリックで終わります。
「テキストエディタ」は、ちょっとした下書きや貼り付けたテキストの一時置き場として使えるシンプルなエディタです。ファイルをドロップして開き、編集した内容をテキストファイルとして保存できます。文字数もその場で確認できます。
エンコード・デコードする
「Base64エンコード/デコード」は、テキストだけでなくファイルもBase64に変換できます。URL-safe(+ を -、/ を _ に置き換える方式)にも対応し、画像をそのままHTMLやCSSに埋め込めるData URLの生成もできます。デコード結果が画像の場合はその場でプレビューされるため、正しくデコードできたかを目で確認できます。
「URLエンコード/デコード」は、日本語や記号を含むURLのパーセントエンコーディングを相互に変換します。クエリ文字列を分解してキーと値の一覧として表示する機能もあるため、長いトラッキングパラメータ付きのURLの中身を確認したいときに便利です。
なお、Base64は暗号化ではありません。誰でも元に戻せる単なる符号化方式なので、秘密にしたい情報を守る用途には使えません。
ブラウザだけでテキストを処理できる仕組み
入力はページの外に出ない
これらのツールの処理は、すべてブラウザ上のJavaScriptで実装されています。差分計算も、正規表現の実行も、JSONの構文解析も、あなたの端末の中だけで動きます。入力したテキストを送信する処理は存在せず、サーバー側にログが残ることもありません。
確かめたい場合は、開発者ツールのネットワークタブを開いたままテキストを入力・変換してみてください。入力内容を伴うリクエストが発生しないことを確認できます。処理結果はページを閉じた時点で消えます。
外部サービスに貼れない内容——APIキーを含む設定、社内の顧客リスト、公開前の原稿、個人情報を含むCSVの断片——を扱えるのがこの方式の利点です。
ツールをつないで使う
テキスト系のツールは、処理した結果をそのまま別のツールへ引き渡せます。たとえば、貼り付けた一覧を行操作ツールで重複削除してから、テキスト変換でケースを統一し、最後にエディタで仕上げる、といった流れをコピー&ペーストなしで進められます。
扱えるテキストファイルのサイズは1ファイルあたり10MBまでです。ブラウザ上でのハイライトや差分表示は、極端に長い文章では描画が重くなることがあるため、必要な範囲に絞って処理すると快適です。
対応形式と制限事項
- 入力
- 直接の貼り付け/テキストファイルの読み込み。Base64ツールは画像などのバイナリファイルも受け付けます
- 出力
- クリップボードへのコピー/テキストファイルとしての保存/Data URL(Base64ツール)
- ファイルサイズ
- テキストファイルは1ファイルあたり10MBまで
- 文字コード・改行
- UTF-8で扱います。改行コードはCRLF / LF / CRを判別でき、テキスト変換で相互に統一できます
- ブラウザ要件
- 最新のChrome・Edge・Safari・Firefoxに対応。特別な機能は不要で、スマートフォンでも動作します
- 費用・登録
- 無料。アカウント登録・ログイン・処理回数の制限はありません
テキストツールのよくある質問
入力したテキストはサーバーに送信されますか?
されません。すべての処理はブラウザ上のJavaScriptで行われ、入力内容はページの外に出ません。開発者ツールのネットワークタブを開いたまま操作すれば、入力を伴う通信が発生しないことを確認できます。
APIキーや個人情報を含むテキストを貼っても大丈夫ですか?
処理は端末内で完結し、外部に送信されないため、他のオンラインツールに比べて安全です。とはいえ共有端末を使っている場合は、作業後にページを閉じる、クリップボードの内容に注意する、といった基本的な配慮はしてください。
日本語の文字数は正しく数えられますか?
数えられます。文字数は入力された文字をそのまま数えるため、日本語でも問題ありません。単語数は空白で区切られたまとまりを数える方式のため、空白で区切らない日本語では実質的な意味を持ちません。日本語の原稿では文字数(または空白を除いた文字数)を基準にしてください。
JSONがエラーになる原因が分かりません。
JSONフォーマッターは構文エラーの内容に加えて、問題が発生した行と列を表示します。よくある原因は、末尾に余分なカンマがある、キーがダブルクォートで囲まれていない、シングルクォートを使っている、コメントが書かれている、といったものです。JSONはコメントを許可していない点に注意してください。
テキスト比較はどの単位で差分を取りますか?
行単位です。最長共通部分列(LCS)というアルゴリズムで一致する行を対応付け、追加・削除された行を色分けして表示します。1行の中の一部だけが変わっている場合は、その行全体が「削除された行」と「追加された行」の組として表示されます。
Base64にすれば内容を隠せますか?
隠せません。Base64は暗号化ではなく、誰でも元に戻せる符号化方式です。バイナリデータをテキストとして扱うための仕組みであり、機密保持の役には立ちません。中身を保護したい場合は、パスワード付きZIP(AES-256)などの暗号化手段を使ってください。
正規表現が思ったとおりに動きません。
マッチ箇所がリアルタイムでハイライトされ、件数も表示されるので、まずはどこに当たっているかを確認してください。全件を置換するにはgフラグ、大文字小文字を区別しないならiフラグ、行頭・行末の ^ と $ を各行に適用するならmフラグ、. を改行にもマッチさせるならsフラグを有効にします。
大きなファイルも扱えますか?
テキストファイルは1ファイル10MBまで読み込めます。ただしハイライト表示や差分計算は文章が長いほど描画が重くなるため、数万行規模のログを扱う場合は必要な範囲を切り出してから処理することをおすすめします。
オフラインでも使えますか?
使えます。一度アクセスした後はPWAとしてキャッシュされるため、通信のない環境でも各ツールを開いて処理できます。テキストツールは外部リソースを必要としないため、オフラインでも機能に制限はありません。
テキスト用語のミニ辞典
- 改行コード(CRLF / LF / CR)
- 行の終わりを表す制御文字。Windowsは主にCRLF、macOSやLinuxはLFを使います。混在すると差分が正しく取れない原因になります。
- 全角・半角
- 日本語環境で使われる文字幅の区別。同じ「A」でも全角と半角は別の文字として扱われるため、表記の統一が必要になります。
- LCS(最長共通部分列)
- 2つの並びに共通して現れる最長の並びを求めるアルゴリズム。テキスト比較で「変わっていない行」を特定するのに使います。
- 正規表現フラグ
- 正規表現の動作を変える指定。g(全件)、i(大文字小文字を無視)、m(複数行)、s(. が改行にもマッチ)に対応しています。
- Base64 / Data URL
- バイナリデータを文字列で表す符号化方式と、それをURLの形式で埋め込む記法。暗号化ではなく、誰でも復元できます。
- パーセントエンコーディング
- URLで使えない文字を %E3%81% のような形式に置き換える仕組み。URLエンコード/デコードはこの変換を行います。