100% ローカル — データがブラウザの外に出ることはありません

JavaScriptのエスケープ解除|バンドルの中の文字列を読む

JavaScriptの文字列リテラルを素のテキストに戻します。名前付きエスケープ、\uXXXX、\u{...}、\xNN、サロゲートペアが、すべて文字として戻ってきます。

高速 プライベート Cookieゼロ

JS Escaped 入力

Text 出力

このツールの動作

文字列リテラルの中身を読み取り、それが表すテキストを返します。名前付きの \n、\r、\t、\b、\f、\v、\0 はそれぞれの文字に戻ります。\uXXXX、コードポイント形式の \u{1F600}、16進形式の \xNN も復号されます。\ud83d\ude00 のように書き下されたサロゲートペアは、それが表す1文字に再合成されます。

バックスラッシュの後のそれ以外の文字は、そのまま裸で返ります。\q は q、\\ はバックスラッシュ1文字、\" は引用符になります。これは代替動作ではなく JavaScript の規則そのもので、未知のエスケープは「後続の文字そのもの」と定義されています。

こんなときに使います

ミニファイされたバンドル、ログの1行、スタックトレースから取り出した文字列で、エスケープが積み重なって実際の内容が読めないとき。翻訳ファイルや設定値がエンコード処理を一度多く通ってしまった場合にも使えます。

このツールがしないこと

復号するのはリテラルの中身であって、JavaScript の式ではありません。引用符の内側を貼り付けてください。連結も評価も行いません。

旧来の8進エスケープも復号します。非strictモードのエンジンがそう振る舞うからです。\101 は A、\012 は改行になります。ただし、これを見かけたこと自体が出所を物語ります。この形式は strict モードとテンプレートリテラルでは構文エラーなので、使っているリテラルは古いコードに由来します。

プライバシー

すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。

よくある質問

前後の引用符も含めて貼り付ける必要がありますか。
いいえ。引用符の内側だけを貼り付けてください。入力に残った引用符は通常の文字として扱われ、そのまま出力されます。
なぜ `\q` が `q` になるのですか。
認識できないエスケープに対して JavaScript 自身がそう振る舞うからです。バックスラッシュが外れ、次の文字がそのまま残ります。このツールが勝手に制御文字を作り出すことはありません。
絵文字はそのまま復元されますか。
はい。`\ud83d\ude00` のようなサロゲートペアは、それが表す1文字に再合成されます。コードポイント形式の `\u{1F600}` も同じ絵文字になります。

関連ツール