コンテンツへスキップ
🛠️ToolsShed

HTML エンコーダー / デコーダー

特殊文字をHTMLエンティティにエンコードし、逆変換も可能。

このツールについて

HTML エンコーディングは、特殊文字を HTML エンティティ参照(ウェブ文書内で文字を安全に表す文字列)に変換します。< (より小さい)、> (より大きい)、& (アンパサンド)、" (引用符)などの一般的な文字は HTML マークアップ内で特殊な意味を持つため、&lt;、&gt;、&amp;、&quot; としてエンコードして正しく表示する必要があります。デコードはこのプロセスを逆にして、エンティティを読みやすい文字に変換します。これはウェブ開発者、コンテンツ作成者、HTML に敏感な文字を含む可能性があるコードスニペット、API レスポンス、またはユーザー入力を扱う人にとって必須です。

このツールを使用するには、テキストを入力フィールドに貼り付けて、エンコード(特殊文字をエンティティに変換)またはデコード(エンティティを文字に変換)のどちらかを選択します。変換はブラウザ内で即座に行われ、サーバーへのアップロードは必要ありません。生の HTML をエンコードしてマークアップとして解釈されないようにすることも、エンティティをデコードして元のテキストを表示することもできます。結果は即座に表示され、クリップボードに直接コピーできるため、ドキュメント、フォーラム投稿、メール作成、データ準備タスクでの一括処理が簡単になります。

よくある質問

コード実装

import html

# Encode: replace <, >, &, ", ' with HTML entities
raw = "<script>alert('XSS')</script> & <b>bold</b>"

encoded = html.escape(raw)
print(encoded)
# &lt;script&gt;alert(&#x27;XSS&#x27;)&lt;/script&gt; &amp; &lt;b&gt;bold&lt;/b&gt;

# Also encode quotes (useful inside HTML attributes)
encoded_all = html.escape(raw, quote=True)
print(encoded_all)
# &lt;script&gt;alert(&#x27;XSS&#x27;)&lt;/script&gt; &amp; &lt;b&gt;bold&lt;/b&gt;

# Decode: convert HTML entities back to plain text
decoded = html.unescape(encoded)
print(decoded)
# <script>alert('XSS')</script> & <b>bold</b>

# Safe injection into a template
user_input = "<img src=x onerror=alert(1)>"
safe_html = f"<p>{html.escape(user_input)}</p>"

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.