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

JavaScriptエスケープ|文字列リテラルにそのまま貼れます

テキストをJavaScriptの文字列リテラル用に逃がします。バックスラッシュ、3種類の引用符、制御文字を扱うので、どこに置いてもその行はそのまま問題なく通ります。

高速 プライベート Cookieゼロ

Text 入力

JS Escaped 出力

このツールの動作

任意のテキストを、JavaScriptやTypeScriptで引用符の間に貼り付けてもリテラルを壊さない形に変換します。

  • バックスラッシュは二重化されます。C:\path がパスのまま保たれ、エスケープシーケンスに化けません。
  • '、"、` はいずれもエスケープされるため、結果は3種類のどの引用符スタイルでも有効です。
  • 改行、復帰、タブ、後退、改ページ、垂直タブはそれぞれ名前付きの形になります(\n、\r、\t、\b、\f、\v)。
  • U+0020未満のその他の文字は \uXXXX になります。NUL もその一つで、名前付きのシーケンスではなくエスケープされた U+0000 の形で出力されます。ASCII より上には例外がちょうど2つあります。Unicode の行区切りである U+2028 と U+2029 です。リテラル内にそのまま置くと ES2019 より前では構文エラーであり、<script> タグに埋め込んだリテラルは今でも壊れるため、\u2028、\u2029 として出力されます。

ASCIIを超える文字は意図的にそのまま残します。JavaScriptのファイルはUTF-8であり、"café" は有効かつ読みやすく、"caf\u00e9" にエスケープしてもリテラルが読みにくくなるだけだからです。

こんなときに使います

コード断片、正規表現の一部、ログの1行、JSONの一部を .js や .ts のファイルに手で埋め込むときです。インラインで書く JSON.parse のペイロードにも有用で、そこではエスケープ漏れの引用符が文字列を黙って切り詰めてしまいます。

このツールがしないこと

エスケープの対象は文字列リテラルであって、テンプレートのプレースホルダーではありません。出力が `...${x}...` の中に入る場合、${ は依然として解釈されます。このツールはバッククォートをエスケープしますが、補間を無効化するわけではありません。

プライバシー

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

よくある質問

出力はどの引用符スタイル向けですか?
3種類すべてです。シングルクォート、ダブルクォート、バッククォートのいずれもエスケープされるため、' " ` のどれで囲んでもそのまま貼り付けられます。バックスラッシュが少し増える代わりに、スタイルの選び間違いを防げます。
アクセント記号や絵文字もエスケープされますか?
いいえ。JavaScriptのソースはUTF-8なので、é も 😀 もリテラル内で完全に有効であり、読みやすいまま残ります。ASCIIのみの出力が必要な場合は、Java用のエスケープツールがそれを行います。
改行はどうなりますか?
\n になり、復帰は \r になります。U+0020未満の制御文字で名前付きの形を持たないものは \u00XX と書かれます。

関連ツール