macOSとWindows間のファイル名文字化けや、AI出力に潜む表記揺れの原因になる Unicodeの正規化形式の違いを、診断・変換・差分表示までまとめてチェックできます。
現在の入力の状態
濁点・半濁点の結合文字
検出されませんでした
全角英数字
検出されませんでした
全角記号
検出されませんでした
変換する正規化形式
すでにNFC形式です(変化なし)
変更箇所は下の差分表示で確認できます
(入力すると結果が表示されます)
差分表示
変更はありません
ADVICE
macOSとWindows間でファイル名の同期・検索がうまくいかない場合、多くはNFD(濁点分解)とNFC(濁点合成)の違いが原因です。迷ったらNFCに統一しておくと、Windowsや一般的なWebサービスとの互換性トラブルを避けやすくなります。
Unicode正規化とは?見た目が同じでも中身が違う「が」の正体
「が」という1文字は、実はコンピューター内部で2通りの異なる表現方法を持っています。1つは「が」を1つのコードポイントとして持つ合成済み文字、もう1つは「か」に濁点(結合文字)を後から重ねる基底文字+結合文字の組み合わせです。画面上は区別がつきませんが、コンピューターにとっては別の文字列として扱われます。
この違いが実務上のトラブルを引き起こす代表例が、macOSとWindows間でのファイル名の文字化けです。macOSのファイルシステムは濁点を分解した形式(NFD)でファイル名を保持するのに対し、Windowsや多くのWebサービスは濁点を合成した形式(NFC)を前提としているため、同期・検索・重複チェックがうまく機能しないことがあります。
本ツールは、テキストをNFC・NFD・NFKC・NFKDの4方式で正規化し、現在の入力がどの形式に該当するか診断したうえで、変換前後の違いを差分表示で確認できるオンラインツールです。
こんなシーンで便利です
macOSとWindows間でファイル名が文字化けする問題の調査に
共有フォルダやクラウドストレージ経由でやり取りしたファイル名がおかしくなる原因を、実際のコードポイントレベルで確認したい場合に。
AIが生成したテキストの表記揺れを統一したい時に
AIの出力に含まれる、見た目ではわからない濁点の合成・分解の違いや全角・半角の混在を、正規化してから保存・比較したい場合に使えます。
文字列の完全一致比較や重複チェックが正しく動かない時の原因調査に
同じ文字に見えるのにプログラム上で「一致しない」と判定される場合、Unicodeの正規化形式の違いが原因であることが多く、本ツールで診断できます。
ファイル名リストを一括で正規化したい時に
複数のファイル名を改行区切りで貼り付け、一覧表示モードでどの行が変更されるかをまとめて確認しながら、NFCなど目的の形式に統一できます。
使い方は簡単 4ステップ
- テキストまたはファイル名をテキストエリアに貼り付けます。
- 「現在の状態」診断で、入力がNFC/NFD/NFKC/NFKDのどれに該当するか、濁点の結合文字や全角英数字が含まれていないかを確認します。
- 変換したい正規化形式(NFC・NFD・NFKC・NFKDのいずれか)を選びます。
- 差分表示で変更された箇所を確認し、問題なければ結果をコピーまたはダウンロードします。複数行はまとめて一覧表示モードでも確認できます。
※すべての処理はJavaScript標準の正規化APIを使いブラウザ内で完結するため、入力内容が外部に送信されることはありません。
ご利用時の注意点
- 本ツールはブラウザ標準のString.prototype.normalize()を使用しています。ブラウザによる実装差異はほぼありませんが、極端に古いブラウザでは対応していない場合があります。
- NFKC・NFKDへの変換は全角英数字を半角に変換するなど「情報が失われる」変換を含みます。デザイン上、意図的に全角表記を保持したい文字列には適さない場合があります。
- 差分表示は文字数が多い場合、処理負荷軽減のため簡易表示に切り替わることがあります。
- 完全無料・安全:入力したテキストやファイル名は一切送信されない、通信が発生しないブラウザ完結型を採用しています。
4つの正規化形式の違い早見表
NFC・NFD・NFKC・NFKDがそれぞれ何を行うかをまとめました。
| 形式 | 処理内容 | 主な用途 |
|---|---|---|
| NFC(正規化形式C) | 濁点・半濁点などを1つの文字に合成する | Windows・Web標準。多くのシステムで推奨される基本形式 |
| NFD(正規化形式D) | 濁点・半濁点などを基底文字と結合文字に分解する | macOSのファイルシステム(HFS+/APFS)で採用 |
| NFKC(正規化形式KC) | NFCに加え、全角英数字の半角化など互換変換も行う | 検索・全文一致比較のための表記揺れ統一 |
| NFKD(正規化形式KD) | NFDに加え、全角英数字の半角化など互換変換も行う | 文字解析やあいまい検索の前処理 |
※一般的な用途では、まずNFCに統一しておくと、ファイル名の同期やWebサービスとの互換性トラブルを避けやすくなります。全角・半角の統一まで行いたい場合はNFKCを選択してください。
Unicode正規化が必要になる場面と、実務での使い分け方
見た目では気づきにくい文字コードのズレが、どのような場面で問題になるのかを解説します。
結論:ファイル名やデータ連携ではNFCへの統一が基本
異なるOSやシステム間でファイルやテキストデータをやり取りする場合、NFC(濁点などを合成した形式)に統一しておくのが最も無難な選択です。多くのWebサービスやWindows環境はNFCを前提としているため、macOSで作成したファイル名などをNFCに変換しておくことで、同期・検索・重複チェックの不具合を未然に防げます。
macOSとWindows間のファイル名文字化けの正体
macOSのファイルシステムは、ファイル名の濁点・半濁点を基底文字+結合文字(NFD形式)として保持します。このファイルをWindowsにコピーしたり、NFCを前提とするWebサービスにアップロードしたりすると、同じ「が」でも内部のコードポイントが異なるため、別のファイルとして認識される・検索にヒットしないといった問題が発生します。
AI出力のテキストにひそむ「見えない表記揺れ」
AIが生成したテキストや、コピー&ペーストを繰り返したテキストには、濁点の合成・分解形式や全角・半角の英数字が混在していることがあります。見た目には気づけないこのズレが、文字列の完全一致比較や重複除去処理を誤動作させる原因になるため、データとして扱う前に正規化しておくことが推奨されます。
NFKC変換は「情報が失われる」ことを理解したうえで使う
NFKC・NFKDは全角英数字を半角に変換するなど便利な反面、元の見た目の違いを区別できなくなるという特性があります。検索やデータ照合の前処理としては有効ですが、デザイン上の全角表記を保持したい文章にそのまま適用すると、意図しない見た目の変化が生じる点に注意が必要です。
よくある失敗と対策
macOSからWindowsに移したファイルが「別ファイル」として重複してしまう
macOSで作成したファイルをクラウドストレージ経由でWindowsに同期した際、濁点を含むファイル名がNFD形式のままアップロードされ、既存のNFC形式ファイルと同一とみなされずに重複コピーが作成されてしまう失敗です。
💡 対策・解決策を見る▼
文字列の完全一致比較が失敗し、原因がわからないままデバッグに時間がかかる
見た目には同じ文字列なのにプログラム上の等号比較(===)がfalseになり、原因を探るうちに正規化形式の違いだと気づくまでに時間を要してしまう失敗です。
💡 対策・解決策を見る▼
全角と半角が混在したデータをそのまま検索・集計してしまう
全角の「123」と半角の「123」が同じ商品コードや数値として扱われず、集計や検索の際に別々の値としてカウントされてしまう失敗です。
💡 対策・解決策を見る▼
AI生成テキストをそのままデータベースに保存し、後から表記揺れに気づく
AIが生成したテキストを検証せずそのままデータベースに保存し、後になって同じ意味の文字列が正規化形式の違いにより別レコードとして重複登録されていたことに気づく失敗です。
💡 対策・解決策を見る▼
よくある質問(FAQ)
Q.NFC・NFD・NFKC・NFKDはそれぞれ何が違いますか
A. NFC(正規化形式C)は濁点などを1つの文字に合成する形式で、Windowsや多くのWebサービスで標準的に使われます。NFD(正規化形式D)は逆に濁点などを基底文字と結合文字に分解する形式で、macOSのファイルシステム(HFS+/APFS)で採用されています。NFKC・NFKDはそれぞれNFC・NFDに加えて、全角英数字を半角に変換するなど「互換分解」も行う形式です。
Q.macOSで作成したファイルをWindowsで開くとファイル名の濁点がおかしくなるのはなぜですか
A. macOSのファイルシステムはファイル名をNFD(濁点分解)形式で保持するのに対し、Windowsや多くのアプリケーションはNFC(濁点合成)形式を前提としています。見た目は同じ「が」でも内部のコードポイントが異なるため、検索やdiff、他のシステムとの同期でファイルが別物として扱われる、文字化けして見えるといった問題が起こります。本ツールでNFCに正規化することで、この差異を解消できます。
Q.AIが生成したテキストで表記揺れが起きるのはなぜですか
A. AIモデルの出力は、学習データや生成過程によって濁点の合成・分解形式が混在したり、全角と半角の英数字が混ざったりすることがあります。見た目には同じ文字に見えても、コードポイントが異なると文字列の完全一致比較や検索、重複チェックが正しく機能しません。本ツールで正規化することで、こうした見えない表記揺れを統一できます。
Q.NFKC・NFKDを使うとどんな変換が行われますか
A. NFKC・NFKDは「互換分解」と呼ばれる処理を伴い、全角英数字(ABC123)を半角(ABC123)に、全角スペースを半角スペースに、丸数字や合字などの特殊な文字を通常の文字の組み合わせに変換します。ただし、この変換は情報が失われる場合がある(例:全角と半角の見た目の違いがなくなる)ため、用途によってはNFC・NFDのほうが適している場合もあります。
Q.複数のファイル名やテキストをまとめてチェックすることはできますか
A. はい。「一覧表示モード」に切り替えると、改行区切りで入力した複数の行(ファイル名リストなど)をそれぞれ正規化し、変更があった行だけを一覧で確認できます。大量のファイル名やデータを一括でチェックしたい場合に活用できます。
Q.入力したテキストが外部に送信される心配はありませんか
A. ありません。本ツールはJavaScript標準の正規化API(String.prototype.normalize)を使い、すべての処理をブラウザ内だけで完結させています。入力したテキストやファイル名がサーバーに送信されることは一切ありません。
あなたの声で、
このツールをより鋭く。
「こんな機能が欲しい」「ここを直してほしい」といったご意見や、新しいツールのリクエストを募集しています。エンジニアが直接目を通し、開発の参考にさせていただきます。