ToolActToolAct

文字数カウントツール

テキストの文字数、単語数、行数、段落数などをリアルタイム統計

テキスト入力

基本統計

総文字数0
文字(空白含まず)0
日本語文字数0
英単語数0
数字個数0

構造統計

行数0
段落数0
文数0

読書予測

推定読書時間
1秒
推定朗読時間
1秒

統計オプション

文字数カウントとは?

文字数カウントツールは、テキストの各種統計データをリアルタイム計算します。文字数、単語数、行数など。記事、論文、コードコメント、SNSコンテンツなど、テキストの基本情報を素早く把握できます。本ツールは日英混合統計に対応し、日本語文字と英単語をスマートに識別し、それぞれカウントします。読書時間予測も提供し、読者がコンテンツを読むのにかかる時間を把握できます。

使い方

基本操作

  1. 左のテキストボックスにテキストを入力または貼り付けます
  2. 統計は右側のパネルでリアルタイムに更新されます
  3. 必要に応じてオプションを調整します(句読点、改行など)
  4. テキストのクリア、貼り付け、コピーはいつでも可能です

カウントルール

  • 合計文字数:スペース、句読点、改行を含むすべての文字
  • 漢字数:漢字(CJK)の文字をカウント
  • 英単語:文字で構成された単語をカウント
  • 段落:空行で区切られた空でないテキストブロック
  • 読了時間:中国語は350文字/分、英語は225単語/分で計算

利用シーン

エディタのまま日英混合テキストを計測バイリンガルのテキストを貼り付けると、総文字数、空白抜き文字数、日本語文字数、英単語数、数字、行数、段落数、文数、読書・朗読時間の推定値がリアルタイムで更新されます。製品コピー、字幕、SNS投稿、サポートマクロなど、言語ごとにカウント方法が異なる場面で役立ちます。テキストはローカルブラウザで処理されるため、カウンター実行中にドラフトコピーがデバイスから出ることはありません。
公開やUIの制限に合わせてコンテンツを調整メタディスクリプション、ボタンラベル、フォームのヒント、リリースノート、アプリストアのテキストを詰める際にカウントを活用します。クリア、貼り付け、コピーのコントロールで素早い編集が可能で、改行オプションはターゲットシステムが改行を文字数予算の一部として扱う場合に役立ちます。
録画やプレゼン前のナレーション長を推定スクリプト、コースノート、デモウォークスルー、短いスピーチの原稿に対して、読書時間と朗読時間の推定値で録画セッション前のタイミングチェックができます。行数と段落数では、意図した構造が失われた貼り付けテキストも検出できます。
厳格なフォームの提出前にカウントルールを比較空白を含む文字数と含まない文字数、ハイフン付きフレーズを1語として数えるか複数語として数えるかを切り替えて、ターゲットポータルのポリシーに合わせられます。一部の試験やビザシステムは独自のトークナイザーを適用するため、ページの数値は作業見積もりとして扱い、保証とはしないでください。読書時間のデフォルトは英語散文で約225語/分、中国語で約350文字/分を想定しており、一般的な成人読者に合っています。CJK文字は単語ではないため、変換なしでは2つの尺度を直接比較できません。
ページ公開時のSEOメタデータフィールドを監査ページタイトル、メタディスクリプション、スラッグ、OGコピーを入力すると、すべての制限が一度に確認できます。タイトルは60文字前後、ディスクリプションは155文字前後、OGフィールドは90文字前後です。最終的なカウントをエクスポートまたはスクリーンショットすると、公開後のSEOチェックリストの記録として残せます。段落数は空行を見破る簡単な指標です。ツールはブロックに空白以外のテキストが含まれる場合のみ段落数を増やすため、連続する2つの空行は1つの段落区切りとして認識され、2つにはなりません。

仕組み

単語カウントはUnicode空白文字での分割を行います。ラテン文字体系では `text.trim().split(/\s+/).filter(Boolean)` に近い正規表現を使用し、ASCIIスペース、タブ、改行、U+00A0(ノーブレークスペース)やU+2028(行セパレータ)などのUnicode区切り文字に一致します。このルールは英語、フランス語、ドイツ語などのスペース区切り言語に有効ですが、中国語、日本語、タイ語のように単語間に空白がない言語では適用できません。CJKテキストは文字単位でカウントされ、`text.length` ではなく `[...text].length` を使用します。スプレッド演算子はUnicodeコードポイントを反復処理し、U+FFFF以上の文字(CJK統合漢字拡張B(U+20000以降)やU+1F300以降の多くの絵文字)のサロゲートペアを正しく処理します。CJK文字クラス自体はUnicodeプロパティエスケープ `/\p{Script=Han}/u` で検出されます。 JavaScriptの文字列の `length` プロパティはUTF-16コードユニット数を返し、文字数ではありません。`'👨‍👩‍👧'.length === 8` ですが、実際のグリフはU+200D(ゼロ幅接合子)で結合された3つの絵文字からなる1つのグラフィームクラスタです。正確なカウントには2023年以降すべてのモダンブラウザで利用可能な `Intl.Segmenter('en', { granularity: 'grapheme' })` を使用します。CJKを含む任意の言語での単語レベルのセグメンテーションには `Intl.Segmenter(locale, { granularity: 'word' })` がUnicode Standard Annex #29に従い、利用可能な場合は最も正確なオプションです。文の境界は `[.!?…。!?]+` に空白または文字列末尾が続くパターンで検出し、段落は2つ以上の連続する改行(`/\n\s*\n/`)で検出します。 読書・話速の推定には公開された読書速度定数を適用します。Brysbaert(2019)のメタ分析によると、成人の黙読速度は英語ノンフィクションで1分間に238語であり、これが225〜250 wpmが一般的なUIデフォルト値となる根拠です。中国語の黙読速度は平均350〜500文字/分です。話速はより遅く、TEDトークの平均は163 wpm、オーディオブックのナレーションは150〜160 wpmが目標です。Twitterの280文字制限では `twitter-text` ライブラリを通じてCJK文字とほとんどの絵文字を重み付き2文字としてカウントし、地域インジケータペア(国旗絵文字)は生の `.length` でUTF-16コードユニット4つとしてカウントされます。

  • 空白による単語分割:`text.trim().split(/\s+/).filter(Boolean)` はラテン文字体系で有効。単語間に空白がないCJKやタイ語では失敗する
  • CJK文字カウントは `[...text].length` でUnicodeコードポイントを正しく反復処理(U+FFFF以上のサロゲートペア、拡張漢字や絵文字に対応)
  • `string.length` はUTF-16コードユニット数を返し、グラフィーム数ではない。👨‍👩‍👧の家族絵文字は `.length === 8` だが表示上は1文字
  • 最も正確なセグメンテーション:`Intl.Segmenter(locale, { granularity: 'word' | 'grapheme' })` がUnicode Standard Annex #29を実装
  • 読書速度のデフォルト値:英語は黙読225〜250 wpm(Brysbaert 2019)、中国語は350〜500文字/分。話速はナレーション150〜160 wpm、TED平均163 wpm
  • 文の分割:`[.!?…。!?]+\s+`、段落分割:`\n\s*\n`、行数:`text.split('\n').length`
  • Twitterは `twitter-text` によりCJKとほとんどの絵文字を280文字制限に対して重み付き2文字としてカウント。国旗絵文字(地域インジケータペア)は生のUTF-16で `.length === 4`

使用例

短い英文

入力:  Hello world, this is a test.

総文字数:                28
文字数 (空白除く):       23
単語数:                  6
文の数:                  1
読了時間:                ~2 秒 (225 wpm)

中英混在のテキスト

入力:  Hello 你好世界, this is ToolAct.

総文字数:        28
中国語文字:        4   (你好世界)
英単語:           4   (Hello, this, is, ToolAct)
数字:              0

Twitter の 280 文字制限内の投稿

下書き:  Launching a new browser-only toolbox today — 112 dev tools,
         zero uploads, zero tracking. Check it out at toolact.com.

総文字数: 124  (Twitter の 280 文字制限内)
単語数:   22
行数:     2

5 分間スピーチの目安

原稿:    ~750 英単語

読了時間:  3 分 20 秒 (黙読 225 wpm)
スピーチ時間: 5 分 0 秒  (発話 150 wpm)
段落数:    5  |  文の数: 42

SEO メタディスクリプションの長さ確認

Title:        "ToolAct - 112 Online Developer Tools, Free and Private"
              -> 56 文字 (Google の表示は約 60)

Description:  "Format JSON, convert timestamps, generate cron expressions,
               and run 100+ more dev tools right in your browser. No uploads."
              -> 148 文字 (Google の表示は約 155)

よくある質問

このカウンターでは何を計測しますか?

総文字数、スペースを除く文字数、漢字、英単語、数字、行数、段落数、文の数、推定読了時間・発話時間です。入力やペーストに合わせてリアルタイムで更新されます。

「単語」はどのように定義されていますか?

英単語は空白で区切られた文字の連続です。漢字は CJK Unicode 範囲で検出され、1文字ずつカウントされます。数字や記号は総文字数に含まれます。

読了時間はどう計算されますか?

デフォルトは1分あたり200〜250語で、成人の黙読速度の平均です。発話速度はより遅く(約150 wpm)、流し読みはより速く(300〜400 wpm)なります。この数値はあくまで概算で、実際の時間は内容の密度や読者の経験によって変わります。

絵文字や特殊文字もカウントされますか?

はい。ただし 😀 のような絵文字は JavaScript の文字列長では複数の UTF-16 コード単位として数えられます。本カウンターはテキストに表示される可視文字としてカウントします。

行数と段落数が異なるのはなぜですか?

行は1つの改行(Enter を1回)で区切られます。段落は空行(Enter を2回)で区切られます。ワープロソフトは通常、段落をカウントし、コードエディターは行をカウントします。本ページでは両方を表示しており、必要なものを選べます。

URL やコード内の文字もカウントされますか?

はい。空白以外はすべてカウントされます。文章のみ(URL、コードブロック、引用を除く)をカウントしたい場合は、ペースト前に手動でそれらを取り除いてください。一部のページでは、構文文字を無視する「Markdown 対応」モードが用意されています。

テキストはアップロードされますか?

いいえ。カウントはブラウザ内で行われます。ペーストしたテキストは送信されません。