無料キャラクターマップ
Unicode文字をカテゴリーで閲覧し、名前またはコードポイントで検索し、クリップボードにコピーします。
使い方
- カテゴリータブをクリックして、そのグループの文字を表示します。
- 文字をクリックして、詳細とコピーオプションを表示します。
- 検索バーを使って、名前(例: 「heart」)またはhexコード(例: 「2665」)で文字を見つけます。
- 文字をコピーをクリックして、選択した文字をクリップボードにコピーします。
よくある質問
Unicodeコードポイントとは?
Unicodeコードポイントは、Unicode標準の各文字に割り当てられた一意の番号です。16進数形式で書かれ、しばしばU+で接頭辞が付けられます(例: U+2665は♥)。
HTMLエンティティとは?
HTMLエンティティは、HTMLで文字を表す特殊なコードです。例えば、♥は♥を表します。エンティティは、文字を直接入力できない場合に便利です。
CSSコードとは?
CSSコードは\\表記を使用して、Unicodeコードポイントから文字をスタイルシートに挿入します。例えば、.heart::before { content: "\\2665"; }は♥を挿入します。
Unicodeの小史
ユニコード以前は、地域ごとに互換性のない独自の文字エンコーディングがあった:英語にはASCII、欧州言語にはISO 8859ファミリー(8859-1 Latin-1、8859-5キリル文字、8859-6アラビア語)、Windowsコードページ1252・1251・1253〜1258、東アジア言語にはマルチバイト文字セット(日本語にはShift-JIS、繁体字中国語にはBig5、簡体字中国語にはGB2312、韓国語にはEUC-KR)。エンコーディングの不一致はmojibake(文字化け、「文字の変換」)と呼ばれる文字化けを生んだ。誤ったエンコーディングで日本語のページを開くと、クエスチョンマークの行やランダムなLatin-1の文字が表示された。
取り組みは1987年にゼロックスで始まった。ジョー・ベッカーはアップルのリー・コリンズとマーク・デイヴィスとともに、寄せ集めのエンコーディングを置き換える単一の汎用文字セットの研究を始めた。ベッカーの1988年8月の草案「Unicode 88」には「ユニコードという名前は、ユニーク・統一・汎用なエンコーディングを意図している」と記されていた。Unicodeコンソーシアムは1991年1月に設立され、同年10月に24スクリプトで約7,100文字を含むUnicode 1.0を公開した。
Unicode 17.0(2025年9月9日公開)時点で、この規格は172スクリプトで約159,801文字を収録し、コード空間には1,112,064の有効コードポイントが割り当てられている。Unicodeは利用可能なスペースの約14%を割り当て済みで、数十年分の余地がある。主な最近のマイルストーン:Unicode 6.0(2010年)は絵文字を正式にエンコードした最初のバージョン(722文字、日本の通信キャリアから取得);Unicode 17.0は4つの新しいスクリプト(Sidetic、Tolong Siki、Beria Erfe、Tai Yo)を追加し、CJK表意文字の総数が10万を超えた。
コードポイント・プレーン・エンコーディング
コードポイントは単なる数値で、♥ を示す U+2665 のように U+ プレフィックスを付けた16進数で表記する。コードポイントは65,536コードポイントずつ17のプレーンにグループ化されている。これまで読んだことのあるほぼすべての文字はプレーン0、基本多言語面(BMP、U+0000〜U+FFFF)に存在する。プレーン1(補助多言語面)には歴史的なスクリプト(線文字B・エジプト象形文字・楔形文字)・楽譜記号・ほぼすべての絵文字が含まれる。プレーン2と3はCJK表意文字拡張だ。プレーン4〜13は未割り当てで将来のために予約されている。プレーン14には変体セレクタと絵文字修飾子が含まれる。プレーン15と16はフォントやアプリが独自の意味を割り当てるプライベート使用領域だ。
コードポイントは単なる数値だ;エンコーディングはその数値をバイトとして格納する方法だ。Unicodeは3つを定義している:
- UTF-8:可変幅で1文字あたり1〜4バイト。1992年にベル研究所のケン・トンプソンとロブ・パイクが設計した(ニュージャージーのダイナーのランチョンマットにスケッチした)。最初の128コードポイント(ASCII)は正確に1バイトでASCIIと同じバイナリ値を取るため、純粋なASCIIファイルはすでに有効なUTF-8ファイルだ。2026年1月時点でUTF-8はウェブサイトの約98.9%で使用されており、WHATWGが推奨するエンコーディングであり新しいテキストプロトコルのデフォルトだ。
- UTF-16:可変幅で2バイトまたは4バイト。BMP文字は2バイト;補助プレーンの文字はサロゲートペア(上位サロゲートU+D800〜U+DBFF+下位サロゲートU+DC00〜U+DFFF)を通じて4バイト。Windows API・Java・JavaScript(文字列の
.lengthはUTF-16コード単位を数えるため、絵文字は「2としてカウント」される)・Qtが内部で使用。公開ウェブページの転送として使われるのは0.004%未満だ。 - UTF-32:固定幅で1コードポイントあたり4バイト。インデックス付けは単純だがスペース効率が悪い。一部のUnixランタイムがコードポイントの直接インデックス付けに内部で使用;ディスクや通信では稀だ。
25個の不可視のホワイトスペース文字
Unicodeは正式にちょうど25文字に White_Space=yes プロパティを設定している:通常スペース(U+0020)、タブ、改行、復帰、ノーブレークスペース(U+00A0、通常スペースと見た目が同一だが行をまたいで改行されない有名なもの)、U+2000〜U+200Aの活版印刷の幅文字、行区切り・段落区切り(U+2028・U+2029)、フランス語活版印刷でよく使われる狭ノーブレークスペース(U+202F)、中程度の数学スペース(U+205F)、CJKテキストで使われる全角表意文字スペース(U+3000)。
不可視に見えるが、ホワイトスペースとして分類されず通常スペースとは異なる動作をする文字がいくつかある:
- U+200B ゼロ幅スペース:目に見えるギャップなしに改行を可能にする;Unicode分類ではホワイトスペースではない。
- U+200D ゼロ幅結合子:家族や職業のシーケンスのような複数文字の絵文字を結合するグルー文字。
- U+200C ゼロ幅非結合子:合字の結合を制御する。
- U+00AD ソフトハイフン:レンダラーが行を折り返すまで不可視。
- U+FEFF バイトオーダーマーク:ファイルの先頭ではエンディアンを宣言し;中間では不可視のノーブレークスペースとして機能する。ExcelのUTF-8 CSVエクスポートはこれを先頭に付加するため、下流のツールで最初の列ヘッダーの先頭に予期しない文字として現れることが多い。
これらの不可視文字は「なぜこの文字列がマッチしないのか?」というデバッグセッションの常連の原因だ。文字マップの検索に任意の文字を貼り付ければ実際のコードポイントを教えてくれる。ストレートクォートに偽装したスマートクォートを見ているのか、通常スペースがあるべき場所にNBSPがあるのかを確認できる。
便利な文字範囲
| ブロック | 範囲 | 例 |
|---|---|---|
| ラテン1補助 | U+0080-U+00FF | à ñ ü © ® ¥ § ° ¶ |
| Greek | U+0370-U+03FF | α β γ π Σ Ω |
| Cyrillic | U+0400-U+04FF | ロシア語・ウクライナ語・ブルガリア語など |
| 一般句読点 | U+2000-U+206F | -, … " " ' ' • † NBSP ZWSP |
| 通貨記号 | U+20A0-U+20CF | € £ ¥ ₩ ₽ ₹ ₿ |
| 文字様記号 | U+2100-U+214F | ™ ℠ № ℃ ℉ ℗ |
| Arrows | U+2190-U+21FF | ← → ↑ ↓ ↔ ⇒ ⇐ |
| 数学演算子 | U+2200-U+22FF | ∑ ∫ ∞ √ ≠ ≤ ≥ ± ∂ ∇ ∈ ∪ ∩ |
| 罫線素片 | U+2500-U+257F | ─ │ ┌ ┐ └ ┘ ├ ┤ ┬ ┴ ┼ ═ ║ ╔ ╗ |
| 数学用英数字 | U+1D400-U+1D7FF | 「装飾テキスト」ジェネレーター(𝓗𝓮𝓵𝓵𝓸)はここから文字を取得する。 |
日常的な文章での特殊文字
「あの記号を入力したいだけ」というユースケース向けの、このツールが2クリックで提供するものの簡単なリファレンス:
- emダッシュ - U+2014(
—)、文レベルの区切り。 - enダッシュ - U+2013(
–)範囲(1950-1975)やペア(Boston-Hartford)。 - 省略記号 … U+2026(
…)、3つのドットを1文字として表す。 - スマートクォート:開き二重引用符 U+201C、閉じ二重引用符 U+201D、開き一重引用符 U+2018、閉じ一重引用符 U+2019。
- ノーブレークスペース U+00A0(
)、「100 km」のように単語を途中で改行させない。 - 著作権 © U+00A9、登録商標 ® U+00AE、商標 ™ U+2122。
- セクション記号 § U+00A7、段落記号 ¶ U+00B6、度数記号 ° U+00B0。
- 乗算記号 × U+00D7、除算記号 ÷ U+00F7、どちらも文字
xでもスラッシュでもない。
文字マップを使いたいとき
- キーボードレイアウトなしにアクセント付き文字を入力したいとき:résumé、jalapeño、fiancée、naïve。
- 数学・科学:数式エディタを起動せずに ∑、∫、≠、π、±、∞、μ、Ω をドキュメントに貼り付ける。
- 通貨:必要な記号はキーボードにないことが多い。ユーロ €、円 ¥、ペソ ₱、ルピー ₹。
- 法律・学術的な文章での句読点:エムダッシュ、スマートクォート、セクション記号 §、ダガー †。
- ソーシャルメディアのプロフィールやブランディングのための装飾テキスト:数学的英数字記号(U+1D400〜U+1D7FF)で画像を使わずにテキストをスタイリッシュにできる。
- CLIとTUIのデザイン:ASCIIアートの枠線・ncursesプログラム・READMEの図のための罫線文字。
- エンコーディングバグのデバッグ:文字を貼り付けて実際のコードポイントを確認し、ストレートクォートに偽装したスマートクォートでないか確かめる。
セキュリティ:ホモグラフ問題
多くのUnicode文字はスクリプトをまたいで見た目が同一だ。キリル文字の小文字「а」(U+0430)はラテン文字の「a」(U+0061)と視覚的に区別がつかない。攻撃者は正規のものに見える国際化ドメイン名を登録(たとえばラテン文字のaの代わりにキリル文字のаを使った「apple.com」)し、フィッシングに利用する。2017年の adoḅe.com に対する攻撃では、下付き点付きの ḅ(U+1E05)を使ってマルウェアを配布した。現代のブラウザはスクリプト混在ルールで制限を設け、ドメインがスクリプトを混在させる場合はASCIIのPunycode形式(xn--…)にフォールバックして対処する;Safariは特に保守的だ。Unicodeを人間の文章に豊かなものにしているこの見た目の類似性が、ドメインでは危険になる。文字マップはすべての文字の実際のコードポイントを一目で確認する方法のひとつだ。
よくある質問
文字とグリフの違いは何ですか?
文字はUnicodeがエンコードする抽象的な単位で、書体に関係なく文字「A」そのものだ。グリフは特定のフォントにおけるその文字の具体的な描画だ:HelveticaのA、GaramondのA、Comic SansのAはすべて同じ文字だが3つの異なるグリフだ。Unicodeは文字をエンコードし、フォントはグリフを提供する。
Unicode 1.0が7,000文字なのに17.0が160,000文字になったのはなぜですか?
Unicode 1.0は24スクリプトをカバーし、当時コンピューティングで日常的に使用されていた世界の現存言語の文字体系の大半を含んでいた。それ以降の成長は3つの源から来ている:CJK表意文字の範囲の大幅拡大(歴史的な漢字と珍しい地域変種の取り込み、バージョン17.0だけで拡張Jに4,298文字を追加)、歴史的なスクリプトの正式なエンコード(線文字B・楔形文字・エジプト象形文字・フェニキア語)、そして2010年以降の絵文字の標準化。
HTMLエンティティとは何ですか?
HTMLの中で特殊なエスケープ構文を使って文字をエンコードする方法だ。よく使う文字には名前付きエンティティがあり(©には ©、エムダッシュには —)、任意のコードポイントには数値エンティティがある(♥には ♥ または ♥)。エンコーディングが混在するソースコードなど、文字を直接入力するのが面倒な場合や非ASCIIを除去するシステムで役立つ。
CSSエスケープについては?
CSSはバックスラッシュに16進コードポイントを続けて使う:.heart::before { content: "\2665"; } で ♥ を挿入する。::before / ::after の生成コンテンツ・CSSカウンタースタイル・ソースファイルのエンコーディングが信頼できない任意の場所で役立つ。
何かサーバーに送信されますか?
いいえ。文字データはページに含まれており、検索とカテゴリフィルタリングはJavaScriptでローカルに実行される;コピーはブラウザのClipboard APIを使用する。デバイスからは何も送信されず、読み込み後はページがオフラインで動作する。