絵文字 コピペ

絵文字を選ぶとコピーされます。お使いの端末で表示できない絵文字は非表示になります。

入力した内容が保存・記録・共有されることはありません。

絵文字をクリックするとコピーされ、どこにでも貼り付けられます。カテゴリから探すことも、日本語で検索することもできます。すべて標準のUnicode文字なので、貼り付け先でも正しく表示されます。

使い方

  1. カテゴリを選ぶか、検索欄にキーワードを入力します。
  2. 絵文字にカーソルを合わせると名前が表示されます。
  3. 絵文字をクリックするとコピーされます。
  4. 好きな場所に貼り付けます。

絵文字は画像ではなく文字

このページからコピーするのはテキストです。にっこり笑った顔はコードポイントU+1F600で、英字のAと同じ種類のものであり、画像ファイルとしてではなく文字としてクリップボードを通ります。

絵文字が別の場所に届くと見た目が変わるのはこのためです。Apple、Google、Microsoft、Samsung、Twitterは、同じコードポイントに対してそれぞれ独自のイラストを用意しており、表示する端末は自分のフォントが持つバージョンを描きます。文字は同一で、絵だけが違うのです。絵文字が周りのテキストと一緒に拡大縮小され、検索でき、画像では使えないファイル名やコミットメッセージにも使えるのもそのためです。

違いが見た目だけにとどまらないこともあります。解釈がほかと大きくずれたとき、各社は絵文字を描き直してきました。主要なすべてのプラットフォームで拳銃が水鉄砲に変わったのが最も有名な例です。そのため、ある年に送った文字が、別の年に読むと違う印象を与えることがあります。

一部の絵文字が表示されない理由

Unicodeはほぼ毎年新しい絵文字を追加しており、端末が描けるのはインストール済みのフォントが知っているものだけです。フォントより新しい絵文字は「豆腐」と呼ばれる四角、つまり空の長方形で表示され、中にコードポイントの16進数が入っていることもあります。

見えないものをコピーさせないよう、このページはブラウザが実際に描ける絵文字を判定し、それ以外は隠しています。そのため、一覧は端末やOSの更新時期によって少しずつ異なり、ここで見えるものは自分の画面で見えるものだということになります。ただし、受け取る相手にも見えるとは限りません。相手が古い端末を使っていれば、ごく新しい絵文字は向こうで四角になって届くことがあります。大事な場面では、古くから広く対応している絵文字ほど安全です。

シーケンス、結合子、肌の色

多くの絵文字は1つのコードポイントではなく、複数から成ります。家族、カップル、職業、国旗などは、目に見えないゼロ幅接合子U+200Dで複数の文字をつないで作られています。そのシーケンスを理解する端末は1つにまとまった絵を描き、理解しない端末は部品を横に並べて表示します。家族の絵文字がばらばらの人として届くことがあるのはこのためです。

肌の色も同じしくみです。Unicodeは5つの肌の色の修飾子を定めており、基本の絵文字の後ろに続く文字として適用されます。定義されているのは一部の絵文字、おおむね肌の色に意味がある手、人、体の部位だけです。ここではすべて既定の形でコピーされます。肌の色は、あとから自分のキーボードやスマートフォンの絵文字パネルで付けられます。

これらすべてから実務上言えるのは、絵文字はコード上では1文字より長いことが多いということです。文字数制限、データベースの列、テキストの切り詰め処理はどれも見た目の1文字ではなく部品を数えるので、家族の絵文字1つで文字数の枠を7単位以上使うことがあり、単純な切り詰めでは途中で真っ二つにされてしまいます。

絵文字が壊れる場所

典型的な失敗は、utf8と宣言したMySQLの列です。これはUTF-8ではなく3バイトのサブセットで、U+FFFFを超える文字を表せません。そこに絵文字を挿入すると拒否されるか、最初の絵文字の位置で黙って切り詰められます。修正方法はutf8mb4で、これは設定ではなくスキーマの変更です。

保存以外にも注意点があります。絵文字は意味のある順序ではなくコードポイント順に並び、専用の設定をしない限り全文検索からはたいてい見えず、異体字セレクタを含むことで、見た目がまったく同じ2つの文字列が異なるものとして比較されることがあります。どれも絵文字を避ける理由ではありませんが、フィールドが絵文字を扱えると決めつける前に、1つ入れて試してみる理由にはなります。

新しい絵文字が生まれるまで

絵文字はUnicodeコンソーシアムが運営する正式な提案プロセスを経てUnicodeに追加されます。提案は誰でも提出できますが、証拠にもとづいて主張を組み立てなければなりません。使用頻度の見込み、その概念がすでに既存の文字でカバーされていないか、具体的すぎないか、一時的な流行にすぎないか、実質的にロゴになっていないか、といった点です。提出された提案の大半は、このいずれかの理由で却下されます。

採用された文字は年に一度のリリースで公開され、その後は各ベンダーが独自のデザインを起こしてOSのアップデートで配信します。新しい絵文字が発表されても1年以上は実際には使えないのは、この時間差のためです。コードポイントは存在していても、ほとんどの端末にはグリフがなく、代わりに四角いプレースホルダーが表示されます。

コンソーシアムは文字と併せてCLDRデータも公開しています。各絵文字の短い名前と検索用キーワードを、ロケールごとに翻訳したものです。複数の言語で機能する絵文字検索は、このページの検索も含めてすべてこのデータに支えられています。同じ絵が、どこにいるかによって違う言葉で見つかるのもそのためです。

スクリーンリーダーが読み上げるもの

絵文字はアクセシビリティツリー上に名前を持っていて、スクリーンリーダーはそれを読み上げます。絵文字が意味を担っているときには役に立ちますが、そうでないときは煩わしいだけです。クラッカーの絵文字を5つ並べて終わる行は5つの説明として別々に読み上げられますし、各項目が装飾的な記号で始まる箇条書きでは、その記号が行ごとに繰り返されます。

実用的な指針は次のとおりです。絵文字は文の途中ではなく末尾に置くこと。そうすれば1つずつ読み上げられても文が自然に読めます。コントロールのラベルを絵文字だけにしないこと。読み上げられる名前が、意図した意味と一致するとは限らないからです。そして、装飾目的の繰り返しを本文に持ち込まないことです。

名前やハンドルに含まれる絵文字はとりわけ厄介です。その名前が表示されるたびに毎回読み上げられるからです。インターフェースが絵文字を許すのであれば、プレーンテキストの表示名も選べるようにすべきです。

データベースでの保存と検索

典型的な失敗は、MySQLのカラムをutf8で宣言してしまうことです。これは3バイトのサブセットで、U+FFFFより上の文字を一切表現できません。そこに挿入された絵文字は拒否されるか、最初の絵文字の位置で切り詰められます。解決策はutf8mb4で、スキーマの変更に加えて接続時の文字セット、さらに古いバージョンでは、そもそもutf8を選ばせる原因になったインデックス長の制限にも手を入れる必要があります。

次に驚かされるのが検索です。絵文字はコードポイント順に並びますが、これは読み手にとって何の意味もありません。全文検索インデックスも、設定を変えない限り絵文字を約物として取り除いてしまうのが普通です。ユーザーが絵文字で検索できるようにするなら、現実的な方法は文字と一緒にCLDRの名前もインデックスすることです。

比較には比較なりの落とし穴があります。異体字セレクタとゼロ幅接合子があるため、見た目がまったく同じ2つの文字列がバイト単位では違うということが起こります。比較の前に正規化する、あるいは生のバイト列ではなく表示結果を比べる。重複排除がまともに動くのはそうしたときです。

同じ文字でも絵は違う

絵柄はベンダーごとに描かれるため、絵文字には送り手が制御できないトーンが乗ります。この点についての研究結果は一貫しています。人は同じ絵文字をプラットフォームによって違う意味に、ときには正反対の感情価で受け取ります。温かい気持ちで送ったメッセージが皮肉として届くのは、こうした理由からです。

ベンダー同士が歩み寄るなかで、時とともに意味が変わった文字もあります。拳銃は2016年から2018年にかけて主要なプラットフォームすべてで水鉄砲に描き直されました。いくつかのジェスチャーの絵文字も、当初のデザインが特定の地域で意図しない意味に読まれたため、後からデザインが変更されています。

製品のインターフェース、サポートのメッセージ、ドキュメントなど、重要なものについての実践的なルールはこうです。定着して久しく、どこでも表示が安定している絵文字を優先すること。Appleの端末とAndroidの端末を最低1台ずつ用意してテストすること。そして、テキストが担っていない意味を特定の絵柄に託さないことです。

コード、ファイル名、識別子の中の絵文字

絵文字はごく普通の文字なので、多くのシステムは思いがけない場所でもそれを受け付けます。コミットメッセージ、ブランチ名、ファイル名、JSONのキー、言語によっては識別子にまで使えます。そこで使うべきかどうかは、また別の話です。

よくあるのはコミットメッセージで、この慣習にはgitmojiという名前まで付いています。先頭の1文字で変更の種類を分類するやり方です。マッピングについてチーム内で合意が取れていればうまく機能しますが、コミットメッセージを解析するツールとは相性が悪くなります。絵として符号化された分類は、fix:やfeat:のようなプレフィックスに比べてマッチさせるのがずっと難しいからです。

ファイル名は見た目以上に危険です。現代のファイルシステム上では問題なく残りますが、古いビルドツール、アーカイブ形式、そして文字列連結でシェルコマンドを組み立てるあらゆるものを壊しかねません。システムの境界を越えるものについては、名前はASCIIにして絵文字は名前ではなくメタデータに置く。これが動き続けるやり方です。

よくある質問

貼り付けると絵文字の見た目が変わるのはなぜですか
コピーしているのは画像ではなく文字だからです。Apple、Google、Microsoft、Samsungはそれぞれ同じ文字に独自のデザインを用意しているため、相手の端末のデザインで表示されます。意味はどの端末でも同じです。
一部の絵文字が表示されないのはなぜですか
絵文字は毎年Unicodeに追加され、端末はフォントが対応しているものしか描画できません。お使いの端末で表示できない絵文字はここでは自動的に隠されるので、見えない四角をコピーしてしまうことはありません。
肌の色は選べますか
ここでは選べません。絵文字はすべて標準の形でコピーされます。Unicodeが肌の色を定めているのは323種類だけで、主に手や人物、体の部位です。貼り付けたあとに端末の絵文字キーボードで変更できます。
コピーした内容はサーバーに送られますか
いいえ。絵文字の一覧はページに含まれており、コピーはブラウザ内で行われるため、クリックした内容が記録されたり送信されたりすることはありません。

最終更新:

問題を報告

操作手順、期待した結果、実際の結果を記載してください。秘密情報や個人情報は削除してください。

関連ツール