文字数カウント
入力した文章をリアルタイムで計測。空白除外・改行除外・UTF-8バイト数・行数・原稿用紙換算まで、登録なしでまとめて確認できます。
文章を入力
入力内容は送信しません。共有時も本文はURLや解析イベントに含めず、文字数・行数・単語数の集計値だけを共有します。
カウント結果
目標文字数まであと何文字?
SNSや投稿フォームは独自の文字カウント規則を持つ場合があります。この目標残数は、このページのUnicode文字数を基準にした目安です。
4この内容を端末に保存する(任意)
オプション
この内容を端末に保存する(任意)
バックアップ・保存保護の設定
保存保護はブラウザに削除されにくい保存領域をリクエストするbest-effort機能で、バックアップを保証するものではありません。大事なProjectは書き出しも活用してください。
文字数を用途別に確認
レポート、ブログ、履歴書、応募フォーム、商品説明、SNS下書きなど、文字数の上限や目安がある文章の確認に使えます。
文字数とUTF-8バイト数の違い
「見た目は1文字なのに文字数が2」「日本語だけバイト数が大きい」となる理由を、実際の文字で比較できます。
| 例 | 表示 | 見た目 | コードポイント | UTF-8 | 補足 |
|---|---|---|---|---|---|
| 英字 A | A | 1文字 | 1 | 1 bytes | ASCII英字はUTF-8でも1 byte |
| ひらがな あ | あ | 1文字 | 1 | 3 bytes | 一般的な日本語文字はUTF-8で3 bytes |
| 漢字 漢 | 漢 | 1文字 | 1 | 3 bytes | この漢字もUTF-8で3 bytes |
| 絵文字 | 😀 | 1文字 | 1 | 4 bytes | 補助平面の絵文字は4 bytesになる例が多い |
| 結合文字 | é | 1文字 | 2 | 3 bytes | e と結合用アクセントの2コードポイント |
| 家族の絵文字 | 👨👩👧👦 | 1文字 | 7 | 25 bytes | 4絵文字を3つのZWJでつないだ並び |
※ 結合文字の例は e と U+0301 COMBINING ACUTE ACCENT、家族の絵文字は4つの絵文字を3つのZWJ(Zero Width Joiner)で接続した並びとして計算しています。
なぜ「文字数」がサービスごとに違うのか
「文字数」には1つの世界共通ルールがあるわけではありません。JavaScriptのUTF-16コードユニット数、Unicodeコードポイント数、ユーザーが1文字だと認識する書記素クラスタ(grapheme cluster)など、数え方によって結果が変わります。さらにSNSやフォームではURLや特定文字を独自ルールで数える場合があるため、入力上限は各サービス自身の仕様を最終基準にしてください。
もちっと文字数カウントの数え方
Array.from(text).length を使い、Unicodeコードポイント単位で数えます。TextEncoder でUTF-8へ変換したbyte長を数えます。入力した文章はサーバーへ送らず、ブラウザ内で計算します。
文字コードそのものの仕様は Unicode Standard、ブラウザのUTF-8エンコード処理は MDN TextEncoder を参照できます。
よくある質問
空白を除いた文字数も数えられますか?
はい。スペース・タブ・改行などの空白文字を除いた文字数を別に表示します。
改行だけ除いた文字数は確認できますか?
できます。「改行を除く」ではスペースは残し、改行コードだけを除いた文字数を表示します。
日本語のUTF-8バイト数も数えられますか?
できます。ブラウザのTextEncoderを使い、入力テキストをUTF-8としてエンコードしたバイト数を表示します。
SNSの文字数制限と完全に同じですか?
必ずしも同じではありません。SNSや投稿サービスはURLや言語など独自のカウント規則を持つ場合があります。目標文字数機能は、このページのUnicode文字数を基準にした目安として利用してください。
入力した文章は送信されますか?
送信しません。すべてのカウントはブラウザ内で行います。
