文字コード変換ツール(Unicode/UTF-8/HTMLエンティティ同時表示)
文字を入力するとUnicode・UTF-8・UTF-16・Shift_JIS・HTMLエンティティを同時表示。URLエンコード・文字数カウント(バイト数)・逆引き変換・特殊文字一覧クイックインサート対応。ブラウザ完結・無料・登録不要。
最終更新:2026年5月18日
文字を入力するだけでUnicode・UTF-8・UTF-16・HTMLエンティティ・URLエンコードを同時表示 — 文字コードの確認・HTMLエスケープ・URL変換・バイト数カウントを1ページで完結。逆引き変換・特殊文字クイックインサート対応。
クイック挿入:
Unicodeコードポイント数 0
UTF-8バイト数 0
UTF-16コードユニット数 0
JS string.length 0
文字を入力すると各コードが表示されます
文字コード方式の比較・一覧
主要な文字コード方式の特徴と用途をまとめました。
| エンコード | 「あ」のバイト | 特徴・用途 |
|---|---|---|
| UTF-8 | E3 81 82 | 現在のWebの標準。ASCII互換・可変長(1-4バイト) |
| UTF-16 | 30 42 | Windowsの内部処理・JavaScriptのstring型 |
| Shift_JIS | 82 A0 | 旧来のWindows・古いCSVファイル・日本語固有 |
| EUC-JP | A4 A2 | 旧来のLinux・UNIX環境・古いWebサイト |
| ISO-2022-JP | 24 22(JIS) | メール・古い日本語通信システム |
※ Shift_JIS・EUC-JP・ISO-2022-JPはJavaScript標準APIでの変換に制限があるため、当ツールではUTF-8・UTF-16・HTMLエンティティ・URLエンコードを主機能として提供します。
HTMLエンティティ 主要50種一覧
HTML・XMLで頻繁に使うエンティティです。クリックするとツールに挿入されます。
| 文字 | 名前参照 | 説明 | 文字 | 名前参照 | 説明 |
|---|---|---|---|---|---|
| & | & | アンパサンド | < | < | 小なり |
| > | > | 大なり | " | " | ダブルクォート |
| ' | ' | シングルクォート | | ノーブレークスペース | |
| © | © | 著作権マーク | ® | ® | 登録商標 |
| ™ | ™ | 商標 | € | € | ユーロ |
| ¥ | ¥ | 円記号 | → | → | 右矢印 |
| ← | ← | 左矢印 | ✓ | ✓ | チェックマーク |
URLエンコードの仕組みと使い方
URLエンコード(パーセントエンコーディング)はURLに使えない文字を %XX 形式に変換します。
変換が必要な文字
日本語・CJK文字
あ → %E3%81%82
スペース
→ %20 または +
予約文字
? → %3F, & → %26
エンコード不要
A-Z a-z 0-9 - _ . ~
JavaScriptでは encodeURIComponent() でURLエンコード、decodeURIComponent() でデコードします。
XSS対策としてのHTMLエスケープの重要性
XSS(クロスサイトスクリプティング)は、ユーザー入力をHTMLに無加工で埋め込むことで起きます。HTMLエスケープが最も基本的な対策です。
危険な例(エスケープなし)
// ユーザー入力: <script>alert('XSS')</script>
innerHTML = userInput; // 危険! スクリプトが実行される
安全な例(エスケープあり)
// < → < に変換後は安全に表示される innerHTML = escapeHtml(userInput); // 安全
最低限エスケープすべき5文字: & < > " '
よくある質問(FAQ)
- Unicodeとは何ですか?
- Unicodeは世界中の文字を統一して管理する国際規格です。各文字に「コードポイント」と呼ばれる番号(U+0041のように表記)を割り当てます。現在140万以上の文字・記号・絵文字が定義されています。
- UTF-8とShift_JISの違いは何ですか?
- UTF-8はUnicodeの文字をバイト列に変換するエンコード方式で、現在最もWebで使われています。ASCII文字は1バイト、日本語は3バイトで表現します。Shift_JISは日本語専用のエンコード方式で、旧来のWindowsや古いシステムで使われます。文字化けの多くはエンコードの不一致が原因です。
- HTMLエンティティとは何ですか?いつ使いますか?
- HTMLエンティティは、HTML内で特殊な意味を持つ文字を安全に表示するための記法です。例えば「<」は<、「>」は>、「&」は&と書きます。ユーザー入力をHTMLに埋め込む際のXSS対策として必須です。また、キーボードで入力しにくい©(著作権)や→(矢印)などの記号を挿入するためにも使います。
- JavaScriptで文字コードを調べるにはどうすればよいですか?
- charCodeAt(0) でUTF-16コードユニット、codePointAt(0) でUnicodeコードポイントを取得できます。例: "あ".codePointAt(0) → 12354 (0x3042)。UTF-8バイト列は TextEncoder API で取得できます: new TextEncoder().encode("あ") → Uint8Array [227, 129, 130](E3 81 82)。
- 文字化けが発生しました。原因と対処法は?
- 文字化けは送受信側でエンコードが一致していない場合に起きます。主な対処法: (1) HTMLにmeta charset="UTF-8"を追加、(2) PHPならheader("Content-Type: text/html; charset=UTF-8")、(3) MySQLならutf8mb4に統一、(4) CSVはShift_JISとUTF-8を混在させない、(5) ファイルをUTF-8 BOM有り/無しに統一する。
- 絵文字は何バイトですか?
- 絵文字はUnicodeのサプリメンタリ文字(U+10000以上)のため、UTF-8では4バイト、UTF-16では4バイト(サロゲートペア)、Shift_JISでは非対応です。例: 😊(U+1F60A)はUTF-8で F0 9F 98 8A の4バイトです。JavaScriptのstring.lengthは2を返します(サロゲートペアのため)。