本文へスキップ
にゃんこツール

Unicodeエスケープ変換(\uXXXX ⇔ 文字)

文字を \u3042 のようなUnicodeエスケープに変換したり、エスケープされた文字列を元の文字に戻したりできます。JSONやJavaScriptのソース、ログに出てくる「\u65e5\u672c\u8a9e」のような文字列の確認に便利です。HTMLの特殊文字(& や <)の変換は HTML/JS文字列エスケープ、URL用のパーセントエンコードは URLエンコード/デコード をご利用ください。

🔒 ブラウザ内で完結・入力データはサーバーに送信されません

注意事項

  • 「エスケープ → 文字」では、\uXXXX・\u{...}・\UXXXXXXXX・\xXX・U+XXXX・HTML数値参照(&#x...; / &#...;)を形式の指定なしで自動的に判別して元に戻します。
  • JavaScript形式では、絵文字などBMP外の文字は \uD83D\uDE00 のようにサロゲートペア(2つの \u)になります。ES6形式なら \u{1F600} の1つで表せます。
  • バックスラッシュが2つ続く「\\u3042」は、バックスラッシュ自体のエスケープとして扱い、展開しません。
  • \n や \" などの一般的なエスケープシーケンスは対象外です。これらは「HTML/JS文字列エスケープ」で変換できます。

用語解説

Unicodeエスケープ

ソースコードやJSONの中で、文字をコードポイントの16進数で書き表す記法です。\u3042 は「あ」を表します。ファイルの文字コードや環境に左右されず、ASCII文字だけで任意の文字を表せるのが利点です。

サロゲートペア

UTF-16で、U+FFFFを超える文字(絵文字や一部の漢字など)を表すために使う、2つの16ビット値の組です。JavaScriptの \uD83D\uDE00 は、この2つで「😀」を表します。

コードポイント

Unicodeで各文字に割り当てられた番号です。「あ」ならU+3042のように、「U+」に16進数を続けて書きます。

よくある質問

絵文字が \uD83D\uDE00 のように2つに分かれるのはなぜですか?

JavaScriptの \uXXXX は16ビットの値1つを表すため、U+FFFFを超える絵文字などは上位・下位のサロゲートペア2つに分かれます。1つの表記にしたい場合は、ES6形式(\u{1F600})やPython形式(\U0001F600)を選んでください。

ASCII文字(英数字)もエスケープされますか?

初期設定では英数字や記号はそのまま残し、日本語などASCII以外だけを変換します。「変換する文字」を「すべての文字」にすると、英数字や改行もエスケープされます。

「\u65e5\u672c\u8a9e」のような文字列を元に戻すには?

変換方向を「エスケープ → 文字」にして貼り付けてください。\uXXXX・\u{...}・U+XXXX・HTML数値参照などを自動で判別して、文字に戻します。

\n や \" は変換されますか?

いいえ。このツールが扱うのはコードポイントを表す表記だけです。改行やクォートのエスケープは「HTML/JS文字列エスケープ」を使ってください。

このページをシェア

↑↓ 選択 Enter 開く Esc 閉じる