文字数制限

プラットフォームやシステムが設定するテキスト入力の最大文字数。SNS、広告、フォームなどで適用される。

文字数制限とは、テキスト入力に対してプラットフォームやシステムが設定する最大文字数のことです。X (Twitter) の 280 文字、Instagram のキャプション 2,200 文字、Google 広告の見出し 30 文字など、サービスごとに異なる制限が設けられています。これらの制限はユーザー体験の最適化、データベースの効率化、表示レイアウトの統一といった技術的・デザイン的な理由から設定されています。

主要プラットフォームの文字数制限は変更されることがあるため、投稿先の現在の仕様を確認してから作業します。X は 2017 年に 140 文字から 280 文字へ拡張されました。ただしこの 280 は文字数ではなく重みの合計で、半角英数字は 1、日本語や絵文字は 2 と数えられるため、日本語だけで書けば実質 140 文字です。URL は実際の長さに関係なく 23 として計算されます。一方、メッセージアプリの本文や長文投稿を前提とした入力欄では数千文字から数万文字を受け付けるものもあり、サービス間の差は桁で違います。数字を覚えて使い回すのではなく、投稿欄の残り文字数表示か公式の仕様で毎回確かめるのが確実です。

全角・半角の扱いはプラットフォームによって異なります。X は全角と半角を区別して数え、日本語の文字は 1 文字で重み 2 を消費します。Google の検索広告は半角を 1 として数える枠で、日本語や中国語のように 2 文字幅で表示される文字は 1 文字が 2 と数えられるため、見出し 30 文字の枠に入るのは日本語で 15 文字までです。データベースでも、桁数の指定が文字数で効くのかバイト数で効くのかが製品ごとに違います。MySQL の VARCHAR(M) の M は文字数の指定ですが、行の最大サイズ 65,535 バイトという別の制約はバイト単位で効きます。Oracle の VARCHAR2 は桁数のあとに BYTECHAR を書いて長さの意味を選ぶ形式で、修飾子を省くとセッションの設定に従うため、同じ定義文が環境によってバイト制限にも文字制限にもなります。上限に触れる処理を書く前に、その数字が文字なのかバイトなのか重みなのかを 1 つずつ確認します。

SEO の文脈で扱われる title タグやメタディスクリプションには、公式の文字数上限がありません。検索結果での切り詰めは文字数ではなく表示幅で決まり、同じタイトルでもデスクトップとスマートフォンでは切れる位置が変わります。実務では日本語のタイトルで 30 文字前後、メタディスクリプションで 120 文字前後を作業上の目安に置くことが多いものの、これは表示を観察した経験値です。フォーム側では HTML の maxlength 属性でクライアント側の入力制限をかけられますが、この属性の判定は文字列の長さ (UTF-16 のコードユニット数) で行われるため、サロゲートペアで表される絵文字は見た目 1 文字で 2 を消費します。人間の数え方と一致しないうえ、属性は利用者の入力操作を抑えるだけで送信されてくる内容を保証しないため、サーバー側の検証は必ず併用します。

文字数制限内で効果的なメッセージを伝えるには、情報の優先順位付けと圧縮テクニックが重要です。結論を先に述べる、冗長な修飾語を削る、具体的な数値で説得力を持たせるといった手法が有効です。書き終えてから削ると全体を組み直すことになるため、投稿先と同じ数え方の残り文字数を見ながら書き進めます。上限のある欄が複数ある場合は、どの欄が最初にあふれるかを先に確かめておくと手戻りが減ります。

この記事を共有