全角文字は何バイト?UTF-8・Shift-JISのバイト数早見表と「文字数」との違い

公開日:2026年10月22日 / カテゴリ:IT知識
全角1文字= UTF-8では3バイト / Shift-JISでは2バイト
半角英数字=1バイト / 絵文字=4バイト(UTF-8)

「全角20文字以内」と書かれているのに19文字で弾かれる。「40バイト以内」と言われて何文字入るのかわからない。——こうした混乱は、「文字数」と「バイト数」が別物で、しかもバイト数は文字コードによって変わることが原因です。この記事では、文字種×文字コードごとのバイト数を早見表にまとめ、実務で困らない考え方を解説します。

文字コード別バイト数早見表

文字の種類例UTF-8Shift-JISEUC-JP
半角英数字・記号A、1、@1バイト1バイト1バイト
半角スペース( )1バイト1バイト1バイト
ひらがな・カタカナあ、ア3バイト2バイト2バイト
漢字漢、字3バイト2バイト2バイト
全角英数字・記号A、1、@3バイト2バイト2バイト
全角スペース( )3バイト2バイト2バイト
半角カタカナア、ガ3バイト1バイト2バイト
アクセント付きラテン文字é、ü2バイト—(表現不可)—
絵文字😀4バイト—(表現不可)—
改行(LF)\n1バイト1バイト1バイト
改行(CRLF・Windows)\r\n2バイト2バイト2バイト

現在のWebサイト・スマホアプリ・クラウドサービスのほとんどはUTF-8を使っています。迷ったら「全角=3バイト、半角=1バイト」で計算すれば実務上ほぼ問題ありません。

テキストを貼り付けるだけで文字数とUTF-8のバイト数を同時に確認

文字数カウントツールを使ってみる →

なぜ文字コードでバイト数が変わるのか

コンピュータは文字を「番号」で保存しています。その番号をどう並べてバイト列にするかのルールが文字コード(符号化方式)です。

意外な落とし穴:半角カタカナはShift-JISでは1バイトですが、UTF-8では全角と同じ3バイトです。「半角カナにすれば軽くなる」はUTF-8環境では通用せず、文字化けのリスクだけが残ります。

「文字数制限」と「バイト数制限」の見分け方

入力フォームやシステムの制限は、大きく2種類に分かれます。

制限の種類表記の例全角で入る文字数の目安
文字数制限「20文字以内」「全角10文字まで」そのまま(20文字なら全角20文字)
バイト数制限(UTF-8)「60バイト以内」60÷3=全角20文字
バイト数制限(Shift-JIS)「40バイト以内」「半角40文字相当」40÷2=全角20文字

「半角○文字相当」「○バイト」と書かれていたらバイト数制限です。全角文字はUTF-8なら3分の1、Shift-JISなら2分の1の文字数しか入りません。

実務でよくあるトラブルと対処

データベースに絵文字が保存できない

MySQLの文字コード設定「utf8」は歴史的な理由で3バイトまでしか扱えず、4バイトの絵文字を入れるとエラーになります。「utf8mb4」に設定すると保存できます。

メールの件名が途中で切れる

メールの件名はバイト数で制限されることが多く、全角は3バイト消費します。長い件名は先頭に要件を書き、後半が切れても意味が通るようにしましょう。

Windowsで作ったテキストのバイト数が合わない

Windowsの改行はCRLF(2バイト)、Mac・Linuxの改行はLF(1バイト)です。改行が多いファイルほど差が出ます。

「全角20文字以内」なのに19文字で弾かれる

サロゲートペア(𠮷のような一部の漢字や絵文字)は、JavaScriptなどで「2文字」として数えられることがあります。見た目は1文字でも内部的に2文字扱いになるため、制限ギリギリは避けるのが安全です。

注意:Shift-JISで保存したファイルをUTF-8として開く(またはその逆)と文字化けします。バイト数の解釈が変わるためで、ファイルを保存するときの文字コードと開くときの文字コードを一致させることが基本です。

まとめ

全角文字はUTF-8で3バイト、Shift-JISで2バイト、半角英数字はどちらも1バイト、絵文字はUTF-8で4バイト。入力制限が「文字数」か「バイト数」かを見極め、バイト数制限なら全角は3分の1(UTF-8)で見積もりましょう。正確な数値は文字数カウントツールで文字数とバイト数を同時に確認できます。全角・半角が混在したデータの整理には全角半角変換ツールが便利です。