文字列エスケーパー
8 つの形式の文字列をエスケープ またはアンエスケープ します:HTML、XML、JavaScript、Java、.Net(C#)、JSON、CSV、SQL。
すべての処理はブラウザー内でローカルに行われます — データはサーバーに一切アップロードされません。
📂 ファイルを開く
🔗 URL を読み込む
処理
コピー
ダウンロード
サンプル
クリア
⚠ セキュリティ警告: 文字列のエスケープはパラメータ化クエリの代わりにはなりません 。
エスケープだけでは SQL インジェクションを防止できません。本番コードでは必ずパラメータ化クエリ(プリペアドステートメント)を使ってください。
使い方: 形式 と方向 (エスケープ / アンエスケープ)を選び、テキストを入力または貼り付けます
— 出力は自動更新されます。処理 で手動変換もできます。
JSON、JavaScript、Java、.Net モードでは、すべての非 ASCII 文字をエスケープ にチェックすると、中国語などの文字を
\uXXXX シーケンスに変換できます。
アンエスケープ はエスケープの逆です:< は < に、\n は改行になります。
HTML: エスケープ は & < > " ' を HTML エンティティ(& < > " ')に変換します。XSS 攻撃を防ぐため、ユーザー生成テキストを HTML に埋め込むときに使ってください。アンエスケープ は HTML エンティティ(& < > " ')を元の文字に戻します。ブラウザー内蔵の HTML パーサーを使い、すべての名前付き・数値エンティティを確実にデコードします。
XML: エスケープ は HTML と同じ 5 文字(& < > " ')を XML セーフなエンティティに変換します。XML では属性値の中も含め、すべての & のエスケープが必須です。アンエスケープ は XML エンティティを元の文字に戻します。5 つの定義済み XML エンティティと数値文字参照を処理します。HTML アンエスケープと同じロジックです。
JavaScript: エスケープ は特殊文字を JavaScript エスケープシーケンスに変換します:\n \t \\ \" \' \xHH \uHHHH \u{H...}。JavaScript 文字列リテラルを動的に生成するときに使ってください。アンエスケープ は JavaScript エスケープシーケンス(\n \t \xHH \uHHHH など)をリテラル文字に戻します。\u{H...} コードポイントエスケープを含む、すべての標準 ECMAScript エスケープシーケンスを処理します。
JSON: エスケープ は \" \\ と制御文字を RFC 8259 に従った JSON セーフなエスケープシーケンスに変換します。テキストを JSON 文字列値の中に埋め込むときに使ってください。アンエスケープ は JSON エスケープシーケンス(\" \\ \n \uXXXX など)をリテラル文字に戻します。RFC 8259 に従い、有効な JSON エスケープシーケンスのみをデコードします。
CSV: エスケープ は RFC 4180 に従います:カンマ、二重引用符、改行を含むフィールドを二重引用符で囲みます。内部の二重引用符は二重化されます(" → "")。アンエスケープ は RFC 4180 の CSV エスケープの逆です:外側の二重引用符を外し、内部の引用符の二重化を戻します("" → ")。複数行フィールドと引用されたカンマを正しく処理します。
SQL: エスケープ はシングルクォートを二重化して(' → '')エスケープします。主要なデータベース(MySQL、PostgreSQL、SQL Server、SQLite)すべてで機能します。これは文字列リテラルのエスケープのみを扱い、動的クエリの SQL インジェクションを防ぐものではありません 。アンエスケープ は二重化されたシングルクォート('' → ')を元に戻します。標準的な SQL 文字列リテラルエスケープの逆です。
Java: エスケープ は特殊文字を Java エスケープシーケンスに変換します:\n \t \r \\ \" \' \uXXXX など。Java 文字列リテラルを生成するときに使ってください。アンエスケープ は Java エスケープシーケンスをリテラル文字に戻します。\uXXXX Unicode エスケープを含む、すべての標準 Java エスケープシーケンスを処理します。
.Net(C#): エスケープ は特殊文字を C# エスケープシーケンスに変換します:\n \t \r \a \v \0 \\ \" \uXXXX \UHHHHHHHH など。C# 文字列リテラルを生成するときに使ってください。アンエスケープ は C# エスケープシーケンスをリテラル文字に戻します。\UHHHHHHHH UTF-32 と可変長 \xHH... 16 進エスケープを含む、すべての標準 C# シーケンスを処理します。
エスケープは文脈に依存する
同じテキストも、行き先によって違うエスケープが必要です:HTML 本体は < & >、二重引用符属性はさらに "、JavaScript 文字列はバックスラッシュエスケープ、URL はパーセントエンコーディング。間違った文脈へのエスケープこそ、マークアップインジェクションと XSS が起きる仕組みです。
経験則:行き先ではなくソースに対して…ではなく、ソースではなく行き先に対してエスケープする — データがどこから来たかではなく、どこへ行くかで決めてください。