文字数カウント
文章を貼りつけるだけで、文字数(空白・改行あり/なし)、行数、全角と半角の数、UTF-8のバイト数、原稿用紙(400字詰め)の枚数を数えます。改行の削除や、全角・半角の変換もできます。
文字数を数える
- 数える処理は、このページの中のプログラムが、お使いのブラウザの中だけで行います。
- 文章を、当サイトのサーバーや他のサービスに送信することも、保存することもありません。ページを閉じる、または再読み込みをすると、入力した文章は消えます。
- ページの読み込みが終わったあとは、インターネットの接続を切っても数えられます。
| 項目 | 結果 |
|---|---|
| 文字数(空白・改行を含む) | 0 |
| 文字数(改行を除く。空白は含む) | 0 |
| 文字数(空白・改行を除く) | 0 |
| 行数(最後の改行のあとの空の行も1行) | 0 |
| 空の行を除いた行数 | 0 |
| 全角の文字数(改行を除く) | 0 |
| 半角の文字数(改行を除く) | 0 |
| UTF-8のバイト数 | 0 |
| 原稿用紙(400字詰め)の枚数:文字数から | 0 |
| 原稿用紙(400字詰め)の枚数:改行ごとに行を改める場合 | 0 |
| 参考:Unicodeのコードポイント数 | 0 |
| 参考:UTF-16の長さ(JavaScriptのlength) | 0 |
| 参考:絵文字などサロゲートペアの文字数 | 0 |
全角・半角の区分は簡易的なものです(くわしくは、下の説明をご覧ください)。文字数の数え方は、ソフトやWebサービスによって異なります。応募フォームなどの文字数制限は、そのサービスの案内にある数え方を優先してください。
使い方
- 上の入力欄に、数えたい文章を入力するか、貼りつけます。入力と同時に、文字数、行数、バイト数が表示されます。
- 見たい項目を表で確認します。「空白・改行を含む」と「除く」の両方を並べて表示しますので、制限の条件に合う方を見てください。
- 改行が多すぎる文章は「改行を削除」で、1つながりの文章にできます。「改行を空白に置き換え」は、行のつなぎ目に半角スペースを1つ入れます。
- 「英数字を半角に」「カタカナを全角に」などのボタンで、全角・半角をそろえられます。変換のあとに「ひとつ前に戻す」を押すと、変換する前の文章に戻ります(直前の操作だけです)。
- 「結果をコピー」は、表の数字を文章にしてコピーします。「文章をコピー」は、入力欄の文章をコピーします。
- 「例文を入れる」を押すと、絵文字や半角カタカナを含む例文が入ります。数え方のようすを確かめるときに使ってください。
計算方法のくわしい説明
1. 「1文字」の数え方は、1つではありません
パソコンやスマートフォンの中で、文字は「Unicode」という共通の規格の番号(コードポイント)で表されています。ふつうの漢字やひらがなは、1つの文字が1つの番号です。ところが、絵文字や一部の難しい漢字は、1つの番号が大きく、プログラムの内部では2つの部品に分けて保存されます。これがサロゲートペアです。JavaScriptの文字列の長さ(length)は、UTF-16というしくみの部品の数を返すため、MDN Web Docsにあるとおり、絵文字1つ(たとえば「😀」)がlengthでは2になります。一方、文字列を1つずつ取り出す方法(Array.fromなど)では、同じ絵文字は1つと数えられます。
さらに、見た目が1つの絵文字でも、複数の絵文字をつないで作られているものがあります。たとえば、家族の絵文字(👨👩👧)は、3人の絵文字を「ゼロ幅接合子」という見えない文字でつないだもので、番号の数では5つ分です。アクセント付きの文字(eにアクセント記号を重ねたもの)なども同じです。そこで、このツールの「文字数」は、画面で1つに見えるまとまり(書記素)を1文字と数えます。ブラウザの標準機能であるIntl.Segmenterを使って区切っていて、MDN Web Docsにも、書記素の単位で数えるにはこの機能を使うように書かれています。
数え方によって数字が変わるため、表の下のほうに、参考として「Unicodeのコードポイント数」と「UTF-16の長さ(JavaScriptのlength)」、サロゲートペアの文字数も並べています。応募フォームなどの文字数制限がどの数え方なのか分からないときは、これらの数字を見比べてください。お使いのブラウザがIntl.Segmenterに対応していない場合は、コードポイントで数え、その旨を表の下に表示します。
2. 空白と改行の扱い
改行は1文字として数えます。Windowsで使われる「CRLF」(2つの文字の組)や、古いMacの「CR」で入力された改行も、1つの改行にそろえてから数えます。空白は、半角スペース、全角スペース、タブ、行頭・行末の空白、改行などの、見えない文字をまとめて指します。「空白・改行を除く」は、これらをすべて取り除いた数です。「改行を除く」は、改行だけを取り除き、スペースは数えます。
3. 行数の数え方
行数は、改行の数に1を足した数です。文章が空のときは0行です。最後の改行のあとに何も書かれていなくても、その空の行を1行として数えます。「空の行を除いた行数」は、空白だけの行も含めて、文字が1つもない行を除いた数です。
4. 全角・半角の区分(簡易)
このツールでは、ASCII文字(半角の英数字や記号、半角スペース)と、半角カタカナ・半角の記号(Unicodeの「半角・全角形」のうち、U+FF61からU+FF9F、およびU+FFE8からU+FFEE)を「半角」とし、それ以外をすべて「全角」と数えます。ひらがな、カタカナ、漢字、全角の記号、絵文字は「全角」です。アクセント付きの文字やギリシャ文字などは、画面での幅が環境によって違いますが、このツールでは「全角」側に入ります。改行は数えません。この区分は簡易的なもので、文字の見た目の幅そのものを測るものではありません。
半角カタカナの濁点・半濁点(゙、゚)は、画面では前の文字とくっついて見えますが、1つの独立した文字です。たとえば「ガ」は2文字、全角にすると「ガ」の1文字になります。標準の区切りの規則では「ガ」がまとめて1つにされるため、このツールでは、半角カタカナの濁点・半濁点を別の1文字として数えるようにしています。
5. UTF-8のバイト数
UTF-8は、文字をバイト(データの大きさの単位)に直すときの、代表的な方式です。RFC 3629によると、1つの文字は、U+007Fまでが1バイト、U+07FFまでが2バイト、U+FFFFまでが3バイト、それより大きい番号が4バイトです。そのため、半角の英数字は1バイト、ひらがな・カタカナ・漢字・全角の記号・半角カタカナは3バイト、絵文字の多くは4バイトになります。ブラウザの標準機能(TextEncoder)は、常にUTF-8で変換するため、その結果を数えています。改行は1バイトとして数えます。Windowsのメモ帳などで保存したファイルは、改行がCRLF(2バイト)になることがあり、ファイルの大きさとは少しずれることがあります。Shift_JISなど、別の文字コードでのバイト数は計算しません。
6. 原稿用紙(400字詰め)の枚数
400字詰めの原稿用紙は、1行20マス、1枚20行で、1枚に400字入ります。このツールは2通りの数え方を表示します。1つ目は「文字数から」で、改行を除いた文字数(空白は含む)を400で割って、小数点以下を切り上げた枚数です。2つ目は「改行ごとに行を改める場合」で、改行のたびに行を改め、1行20マスを超えた分は次の行に回し、空の行も1行分として数えます。行の合計を20で割って切り上げた枚数です。改行が多い文章は、2つ目のほうが多くなります。どちらも、最後の改行のあとの空の行は数えません。句読点や閉じかっこを行の頭に書かない決まり(禁則処理)や、段落の書き出しの1マス空けなどは考慮していません。実際の原稿の書式は、提出先の指定に合わせてください。
7. 全角・半角の変換のしくみ
Unicodeの「半角・全角形」の領域では、全角の英数字や記号(U+FF01からU+FF5E)が、ASCIIの半角の文字(U+0021からU+007E)に1つずつ対応して並んでいます。そのため、英数字の変換は、この対応にしたがって文字を置き換えています。「英数字の変換に、記号とスペースも含める」にチェックを入れると、英数字以外の記号(!、?、(、)など)と、スペースも変換します(全角スペースは和文で使われるU+3000です)。チェックを入れないときは、英数字だけを変換し、記号とスペースはそのままにします。
カタカナの変換は、1文字ずつの対応表にもとづいています。全角の「ガ」は、半角にすると「カ」と濁点「゙」の2文字になり、半角を全角に戻すときは、濁点・半濁点を前の文字と組み合わせて「ガ」「パ」の1文字にします。「ヴ」は「ヴ」です。ひらがなと漢字は、半角にできないため、変換しません。
計算例
端の例(絵文字、半角カタカナ、改行)を含めた計算例です。ツールに同じ文章を入れると、同じ結果になります。
文字数とバイト数の例
| 入力した文章 | 文字数 | 空白・改行を除く | UTF-8バイト数 | メモ |
|---|---|---|---|---|
| こんにちは | 5 | 5 | 15 | ひらがなは1文字3バイト |
| Hello 世界 | 8 | 7 | 12 | 半角スペースは文字数に含む。英字は1バイト |
| 😀(絵文字1つ) | 1 | 1 | 4 | コードポイント1、JavaScriptのlengthは2 |
| 👨👩👧(家族の絵文字) | 1 | 1 | 18 | コードポイントは5、lengthは8 |
| ガギ(半角カタカナ) | 4 | 4 | 12 | 濁点は別の1文字。半角カタカナも3バイト |
| あ[改行]い | 3 | 2 | 7 | 改行は1文字、1バイト。行数は2 |
| 全角スペース、半角スペース、タブ | 3 | 0 | 5 | 空白だけの文章(全角スペースは3バイト) |
原稿用紙の枚数の例
| 文章 | 文字数から | 改行ごとに行を改める場合 | メモ |
|---|---|---|---|
| 400字(改行なし) | 1枚 | 1枚 | ちょうど1枚 |
| 401字(改行なし) | 2枚 | 2枚 | 1字でも超えると切り上げ |
| 1,000字(改行なし) | 3枚 | 3枚 | 2.5枚を切り上げ |
| 1文字の行が21行 | 1枚 | 2枚 | 行が21行必要になるため |
全角・半角の変換の例
| 変換 | 変換前 | 変換後 |
|---|---|---|
| 英数字を半角に | ABC123abc | ABC123abc |
| 英数字を半角に(記号を含めない) | ABC!? | ABC!? |
| 英数字を半角に(記号を含める) | ABC!? | ABC!? |
| カタカナを半角に | ガギグゲゴ パピプペポ ヴ | ガギグゲゴ パピプペポ ヴ |
| カタカナを全角に | アイウエオァィゥェォッャュョヲン | アイウエオァィゥェォッャュョヲン |
よくある質問
- Q1. 他のソフトやWebサービスと、数字が合いません。
- 文字数の数え方は、ソフトやサービスによって決まりが違います。改行を1文字とするか、空白を数えるか、絵文字を1文字とするか、2文字とするかなどで、結果が変わります。このツールは、表に複数の数え方を並べていますので、数えたい条件に合う行を見てください。応募フォームなどの文字数制限は、そのサービスの案内にある数え方を優先してください。
- Q2. 絵文字は何文字と数えますか。
- 見た目で1つに見える絵文字は、1文字と数えます。家族の絵文字のように、複数の絵文字をつないだものも1文字です。参考として、表の下のほうに、コードポイント数とJavaScriptのlengthも出しています。たとえば「😀」は、文字数が1、コードポイント数が1、lengthが2です。
- Q3. 改行は1文字ですか。
- はい。このツールでは1文字として数えます。Windowsの改行(CRLF)で入力された文章も、1つの改行にそろえてから数えます。改行を数えたくないときは、「空白・改行を除く」や「改行を除く」の行を見てください。
- Q4. 半角カタカナの「ガ」は、1文字ですか、2文字ですか。
- このツールでは2文字(「カ」と「゙」)として数えます。全角の「ガ」にすると1文字です。半角カタカナは、濁点・半濁点が独立した文字であるためです。
- Q5. UTF-8のバイト数は、何に使いますか。
- データベースの項目や、通信のデータなどに、文字数ではなくバイト数の上限が決められているときに使います。日本語の文字は、多くが1文字3バイトです。上限が別の文字コード(Shift_JISなど)で決められている場合は、このツールの数字とは一致しません。
- Q6. 原稿用紙の枚数は、どちらの数え方を見ればよいですか。
- 字数だけを400字で割る目安なら「文字数から」、改行のたびに行を改めて書く原稿なら「改行ごとに行を改める場合」が近くなります。どちらも、禁則処理や段落の書き出しの空白は考えていません。提出先の指定がある場合は、その書式に合わせてください。
- Q7. 入力した文章は、どこかに送られますか。
- いいえ。数える処理は、すべてお使いのブラウザの中で行います。当サイトのサーバーに送ることも、保存することもありません。ページを閉じる、または再読み込みをすると、入力した文章は消えます。ただし、ブラウザの拡張機能や、パソコンにあるほかのアプリの動作は、このページからは管理できません。
- Q8. 全角と半角は、どう区別していますか。
- ASCII文字(半角の英数字・記号・スペース)と、半角カタカナや半角の記号を「半角」、それ以外を「全角」と数えています。文字の見た目の幅を測るものではない、簡易的な区分です。
- Q9. 変換ボタンを押したら、文章が変わってしまいました。元に戻せますか。
- 変換や削除のすぐあとなら、「ひとつ前に戻す」ボタンで、操作する前の文章に戻せます。戻せるのは直前の1回だけで、そのあとに文字を入力し直すと、戻せなくなります。大事な文章は、あらかじめ別の場所にコピーしておくと安心です。
参考にした資料
- MDN Web Docs「String: length」(UTF-16コード単位の数であること、絵文字の例):https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/length
- MDN Web Docs「Intl.Segmenter」(書記素単位の区切り):https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Intl/Segmenter
- MDN Web Docs「TextEncoder」(常にUTF-8で変換すること):https://developer.mozilla.org/ja/docs/Web/API/TextEncoder
- RFC 3629「UTF-8, a transformation format of ISO 10646」(文字ごとのバイト数):https://www.rfc-editor.org/rfc/rfc3629
- The Unicode Standard「Halfwidth and Fullwidth Forms」(全角ASCII、半角カタカナの文字の一覧):https://www.unicode.org/charts/nameslist/n_FF00
資料は、2026年11月6日に確認しました。
このページの数字は、このツールが定めた数え方による結果です。応募・提出・登録などの文字数やバイト数の制限は、提出先のサービスの数え方を優先し、制限ぎりぎりの場合は、余裕を持たせてください。