HTMLエンコーダー / デコーダー
テキストをHTMLエンティティに変換、またはエンティティを元の文字に戻します。名前付き(<)、10進数(<)、16進数(<)の出力形式と、エスケープする範囲(パーサーに影響する文字、制御文字、ASCII以外のすべての文字)を選べます。すべてブラウザ内で動作します。
入力
出力
このツールを使う他の方法
REST API
curl -X POST https://api.iotools.cloud/v1/tool/html-encoder-decoder \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "<a href=\"/search?q=cats&type=all\">Cats & dogs</a…",
"mode": "encode",
"scope": "minimal",
"format": "named"
}'ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。
AIエージェントに依頼する
Use the IOTools `html-encoder-decoder` tool (HTML Encoder / Decoder) on this input:
YOUR_INPUT_HEREIOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。
埋め込みウィジェット
<iframe
src="https://iotools.cloud/embed/html-encoder-decoder/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="HTMLエンコーダー / デコーダー — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。
| API/MCP 1回あたりの費用 | 5クレジットから |
|---|---|
| クレジットが足りませんか? | 料金を見る |
次の方法でも利用可能
ガイド
テキストをHTMLエンティティに変換したり、エンティティを元の文字に戻したりします。どちらの方向にも貼り付けでき、どれだけエスケープするか、エンティティをどの表記で書くかを選べます。結果は入力に合わせて即座に更新されます。
HTMLをエンコードする理由
ブラウザは <、>、& をテキストではなくマークアップの命令として読み取ります。ページに 5 < 10 をそのまま書くと、< 以降が黙って消えてしまうことがあります。また、ユーザーが入力したテキストをエスケープせずにHTMLへ入れることは、古典的なクロスサイトスクリプティング(XSS)の脆弱性です。エンコードはこれらの文字を <、>、& といった参照に置き換えます。これらは元の文字として表示されますが、タグと誤認されることは決してありません。
使い方
- テキストを(または
.txt/.htmlファイルを)入力欄に貼り付けます。 - 方向を選びます。エンコード、デコード、自動判定のいずれかです。
- エンコードする場合は、どの文字をエスケープするか、そしてエンティティの形式を選びます。
- 結果をコピーまたはダウンロードします。
設定
方向
- エンコード — リテラルの文字がエンティティ参照に変換されます。
- デコード — エンティティ参照がリテラルの文字に変換されます。
- 自動判定 — 解決可能なエンティティを含み、かつその外に生の
</>がない場合にのみデコードします。したがって<p>Hi</p>はデコードされますが、<p>Tom & Jerry</p>のように、たまたまエンティティを含む実際のマークアップはエンコードされます。
どの文字をエンコードするか
- マークアップ文字のみ —
&、<、>、"、'。マークアップの解析方法を変える5文字で、ページや属性値にテキストをエスケープするのに必要なものはこれで足ります。これがデフォルトです。 - マークアップ + バッククォート + 制御文字 — バッククォートを追加します(古いInternet Explorerは属性の区切り文字として受け付けていました)。さらに、タブ、改行、復帰以外のすべての非表示ASCII制御文字も加わります。
- 上記すべて + ASCII以外のすべての文字 — アクセント、絵文字、ダッシュ、記号もエンコードするため、出力は純粋なASCIIになり、UTF-8を壊す転送経路でも安全に通ります。
エンティティの形式
- 名前付き —
<、©、—。読みやすく、一般的な選択です。名前付き参照のない文字は自動的に16進数になります。 - 10進数 —
<、©。 - 16進数 —
<、©。
3つの形式はすべて同じようにデコードされるため、形式の違いは、エンコードされたテキストをどのように見せたいかだけの問題です。
デコード時にどの名前付きエンティティをサポートしていますか?
Latin-1の全範囲に加え、記号、句読点、ギリシャ文字、矢印、トランプのマークに関する一般的なHTML4エンティティをサポートしています。約198の名前があり、実際のエンコーダーが出力するものはすべて網羅しています。数値参照(© と ©、大文字小文字どちらでも)は、文字に関係なく常に機能します。認識されない名前は削除されず、そのまま残されるため、何も失われません。
エンコードすれば信頼できないHTMLを安全に表示できますか?
マークアップ文字をエンコードすると、信頼できないテキストをページに挿入することは安全になります。テキストとして表示され、実行されることはありません。ただし、マークアップとしてレンダリングしたいHTMLをサニタイズするものではありません。それには、エンコーダーではなく、許可リストベースのサニタイザーが必要です。
プライバシー
すべてブラウザ内で動作します。貼り付けたテキストがアップロードされることはなく、読み込んだファイルもローカルで読み取られます。
関連ツール
一方向だけが必要な場合は、HTMLデコードがデコード専用版です。マークアップには触れず、非ASCII文字だけをエスケープしたい場合は Unicode から HTML エンティティへ を使います。マークアップのエスケープではなく、URLのパーセントエンコードが必要な場合は URL エンコーダー / デコーダー を使ってください。