SMS の文字数制限|ショートメッセージの上限と料金の仕組み
SMS (ショートメッセージサービス) は、LINE や各種チャットアプリが普及した現在でも、電話番号さえあれば届くという到達性の高さから、ビジネス用途で根強く利用されています。しかし SMS には厳格な文字数制限があり、超過すると複数通に分割されて料金が増えます。
140 バイトの歴史 - なぜ 160 文字なのか
SMS の 160 文字という制限は、1985 年にドイツの通信技術者フリードヘルム・ヒレブランドが、はがきや業務連絡の文章を分析して決定したとされています。彼はタイプライターで様々な文章を打ち、ほとんどのメッセージが 160 文字以内に収まることを確認しました。通信技術の歴史に関する書籍でも、この逸話は詳しく紹介されています。
技術的な背景はさらに興味深いものです。SMS のデータは、携帯電話と基地局の間で制御情報をやり取りする SS7 (Signaling System No. 7) のシグナリングチャネルに相乗りして送信されます。このチャネルのペイロードサイズが 140 バイト (1,120 ビット) に制限されているため、SMS の最大データ量もこの枠に縛られます。GSM-7 エンコーディングでは 1 文字を 7 ビットで表現するため、1,120 ÷ 7 = 160 文字がちょうど収まる計算です。
GSM-7 と UCS-2 - エンコーディングの仕組み
SMS のエンコーディングは、メッセージに含まれる文字によって自動的に切り替わります。この仕組みを理解することが、文字数管理の第一歩です。
GSM-7 は、ラテン文字・数字・基本的な記号を 7 ビットで表現するエンコーディングです。GSM 03.38 規格で定義された 128 文字の基本文字セットと、エスケープシーケンスを使う拡張文字セットで構成されます。拡張文字 (例: {、}、[、]、|、~、^、\、€) は 2 文字分 (14 ビット) を消費する点に注意が必要です。
一方、日本語・中国語・韓国語・アラビア語などの文字や絵文字を含むメッセージは、文字数とバイト数の違いに関わる UCS-2 エンコーディングに切り替わります。UCS-2 は 1 文字を 16 ビットで表現するため、同じ 1,120 ビットの枠内では 70 文字 (1,120 ÷ 16 = 70) しか収まりません。重要なのは、メッセージ内に UCS-2 が必要な文字が 1 文字でも含まれると、メッセージ全体が UCS-2 に切り替わるという点です。
| エンコーディング | ビット/文字 | 1 通の上限 | 連結時の上限/セグメント | 対応文字 |
|---|---|---|---|---|
| GSM-7 | 7 ビット | 160 文字 | 153 文字 | ラテン文字、数字、基本記号 |
| GSM-7 拡張 | 14 ビット | (2 文字分消費) | — | { } [ ] | ~ ^ \ € |
| UCS-2 | 16 ビット | 70 文字 | 67 文字 | 日本語、絵文字、CJK 全般 |
連結 SMS の技術仕様
1 通に収まらないメッセージは、連結 SMS (Concatenated SMS) として複数セグメントに分割されます。各セグメントの先頭に UDH (User Data Header) と呼ばれる 6 バイトの連結情報が付加されるため、本文に使える領域が減少します。
UDH には、参照番号 (どのメッセージの一部か)、総セグメント数、現在のセグメント番号の 3 つの情報が含まれます。この 6 バイト (48 ビット) が差し引かれるため、GSM-7 では 1 セグメントあたり (1,120 - 48) ÷ 7 = 153 文字、UCS-2 では (1,120 - 48) ÷ 16 = 67 文字が実質的な上限となります。
SMS の文字数制限と料金体系
| 条件 | 文字数上限 | セグメント数 | 料金 (目安) |
|---|---|---|---|
| 通常 SMS (日本語) | 70 文字 | 1 通 | 3 円 |
| 71〜134 文字 (日本語) | 134 文字 | 2 通 | 6 円 |
| 135〜201 文字 (日本語) | 201 文字 | 3 通 | 9 円 |
| 長文 SMS (日本語) | 最大 670 文字 | 4〜10 通 | 12〜33 円 |
| 通常 SMS (英数字のみ) | 160 文字 | 1 通 | 3 円 |
| 長文 SMS (英数字のみ) | 最大 1,530 文字 | 2〜10 通 | 6〜33 円 |
注目すべきは、71 文字の日本語メッセージを送ると、たった 1 文字の超過で料金が 2 倍になる点です。連結 SMS では各セグメントが個別に課金されるため、文字数管理がコストに直結します。
キャリア別の SMS 制限
日本の主要キャリアはすべて長文 SMS に対応していますが、最大セグメント数や送信可能文字数には差があります。
| キャリア | 最大文字数 (日本語) | 最大セグメント | 送信料金 (1 通) |
|---|---|---|---|
| docomo | 670 文字 | 10 通 | 3〜33 円 |
| au (KDDI) | 670 文字 | 10 通 | 3〜33 円 |
| SoftBank | 670 文字 | 10 通 | 3〜33 円 |
| 楽天モバイル | 670 文字 | 10 通 | 3〜33 円 |
受信側の端末や OS バージョンによっては、連結 SMS が分割表示される場合があります。特に古い端末では連結 SMS に非対応のケースがあるため、重要なメッセージは 1 通 (70 文字以内) に収めるのが確実です。
国際 SMS の場合、送信先の国やキャリアによって文字数制限が異なります。米国の主要キャリアは最大 10 セグメント (GSM-7 で約 1,530 文字) に対応していますが、一部の国では 3〜6 セグメントに制限されることがあります。国際 SMS を送信する際は、送信先キャリアの制限を事前に確認することが重要です。
SMS の開封率とコンバージョン - メール・LINE との比較
SMS がビジネスで重視される最大の理由は、その圧倒的な開封率です。業界調査によると、SMS の開封率は 90〜98% に達し、そのうち約 90% が受信後 3 分以内に読まれるとされています。SMS マーケティングの関連書籍でも、この高い開封率を活かした戦略が解説されています。
| チャネル | 開封率 | 平均応答時間 | クリック率 (CTR) |
|---|---|---|---|
| SMS | 90〜98% | 約 90 秒 | 19〜36% |
| メール | 20〜30% | 約 6 時間 | 2〜5% |
| LINE 公式アカウント | 60〜70% | 約 10 分 | 8〜15% |
| プッシュ通知 | 40〜60% | 約 7 分 | 5〜12% |
SMS の CTR が高い理由の一つは、文字数制限そのものにあります。160 文字 (日本語 70 文字) という制約が、送信者にメッセージの簡潔さを強制し、結果として受信者の行動を促しやすい構造になっています。
ビジネス SMS の活用と A2P SMS
ビジネスで利用される SMS は、A2P (Application-to-Person) SMS と呼ばれます。予約確認、配送通知、認証コード、マーケティングメッセージなどが代表的な用途です。
A2P SMS の配信では、送信元番号の種類が到達率に影響します。日本国内では、キャリアが提供する共通番号 (ショートコード) や、国内番号を使用することで、迷惑 SMS フィルタに引っかかるリスクを低減できます。海外の番号から送信すると、キャリアのフィルタリングでブロックされる確率が高まります。
マーケティング SMS の最適な文字数は、日本語で 40〜60 文字が目安です。挨拶 (10 文字程度)、本文 (20〜35 文字)、CTA とリンク (10〜15 文字) という配分で、1 通に収めつつ必要な情報を伝えられます。70 文字を超えると料金が倍増するため、この範囲に収めることがコスト効率の面でも重要です。
絵文字と SMS - エンコーディング切り替えの落とし穴
SMS で絵文字を使う際の最大の注意点は、エンコーディングの自動切り替えです。GSM-7 で送信できるはずのラテン文字のみのメッセージに絵文字を 1 つ追加するだけで、メッセージ全体が UCS-2 に切り替わり、上限が 160 文字から 70 文字に激減します。
さらに、絵文字の Unicode カウントにも注意が必要です。基本的な絵文字 (例: 😀) は UCS-2 で 2 文字分を消費しますが、肌色修飾子付きの絵文字 (例: 👍🏽) や ZWJ シーケンス (例: 👨👩👧👦) は 4〜7 文字分を消費する場合があります。ビジネス SMS では絵文字の使用を避けるのが最も安全な選択です。
意図せず UCS-2 に切り替わるケースとして、スマートクォート (「'」→「'」)、全角ダッシュ (「—」)、特殊な通貨記号なども挙げられます。テキストエディタやメール本文からコピー&ペーストした文章には、これらの隠れた Unicode 文字が混入しやすいため、送信前の検証が欠かせません。
SMS 認証コード (OTP) の設計
二要素認証で使われる SMS 認証コード (OTP: One-Time Password) の設計にも、文字数制限が深く関わります。認証コードの SMS は、コード本体 + 説明文 + セキュリティ上の注意書きで構成されるため、限られた文字数内で必要な情報を過不足なく伝える必要があります。
認証コードの桁数は、セキュリティと利便性のバランスで決まります。4 桁コードは 10,000 通りの組み合わせで、ブルートフォース攻撃に対する耐性が低いため、現在は 6 桁 (1,000,000 通り) が標準です。8 桁以上にすると入力ミスが増え、ユーザー体験が悪化します。
SMS 認証コードのメッセージ例 (日本語 35 文字): 「認証コード: 123456 有効期限 5 分 他者に教えないでください」。このように、コード・有効期限・注意喚起を 70 文字以内に収めることで、1 通分の料金で送信できます。
RCS と SMS の違い - 次世代メッセージング
RCS (Rich Communication Services) は、SMS の後継として策定されたメッセージング規格です。SMS との主な違いを整理します。
| 項目 | SMS | RCS |
|---|---|---|
| 文字数制限 | 160 文字 (GSM-7) / 70 文字 (UCS-2) | 8,000 文字 |
| メディア | テキストのみ | 画像・動画・音声・ファイル |
| インタラクション | なし | ボタン・カルーセル・クイックリプライ |
| 既読確認 | なし | あり |
| 通信方式 | SS7 シグナリング | IP ベース (データ通信) |
| 到達率 | ほぼ 100% (電話番号ベース) | 端末・キャリア対応に依存 |
RCS は機能面で SMS を大きく上回りますが、2025 年時点では対応端末・キャリアが限定的です。日本では docomo の「+メッセージ」が RCS ベースのサービスとして提供されていますが、キャリアをまたいだ相互接続には課題が残ります。確実に届けたいメッセージには、依然として SMS が最も信頼性の高い選択肢です。
プロの SMS 運用テクニック
SMS を効果的に活用するための実践的なテクニックを紹介します。
- 送信前のエンコーディング検証 — キャンペーン配信前に、メッセージを GSM-7 バリデータに通して隠れた Unicode 文字がないか確認します。スマートクォートや全角スペースが 1 文字でも混入すると、UCS-2 に切り替わりセグメント数が倍増します。
- 文字数バジェットの設計 — マーケティング SMS では、挨拶 (10 文字)、本文 (30〜40 文字)、CTA (10〜15 文字)、オプトアウト案内 (10 文字) のように、セクションごとに文字数を割り当てます。合計が 67 文字以内なら、連結 SMS のヘッダー消費を考慮しても確実に 1 通で届きます。
- パーソナライゼーションの文字数考慮 —
{first_name}のような動的フィールドは、最長の名前 (15 文字程度) を想定してバジェットを組みます。短い名前の受信者には余白が生まれますが、長い名前でセグメントが分割されるリスクを回避できます。 - 送信時間帯の最適化 — ビジネス SMS の開封率は送信時間帯によって変動します。平日の 10〜12 時と 14〜16 時が最も開封率が高く、深夜・早朝の送信は避けるべきです。
- URL 短縮の活用 — 長い URL は文字数を大幅に消費します。短縮 URL サービスを使えば 20〜25 文字に圧縮でき、その分を本文に充てられます。ただし、一部のキャリアでは短縮 URL がスパムフィルタに引っかかる場合があるため、ブランドドメインの短縮 URL を使用するのが理想的です。
まとめ
SMS の文字数制限は、1985 年に決められた 140 バイトという物理的制約に端を発し、GSM-7 の 160 文字と UCS-2 の 70 文字という 2 つの上限として現在も機能しています。エンコーディングの自動切り替え、連結 SMS のヘッダー消費、絵文字による文字数膨張など、表面的な文字数だけでは把握できない落とし穴が多く存在します。送信前に文字数カウントスでメッセージの文字数を確認し、コストと到達率の両面で最適な SMS 運用を実現しましょう。