ほぼすべてのライティングコンテキストにおいて、単語数は基本指標です。ブログ記事にはSEOターゲットがあり、学術論文にはページ制限があり、ツイートには文字数制限があり、求人票には「300語の志望動機」が求められます。文字数カウンターを使えば単語数が即座にわかるだけでなく、1回のペーストで読了時間・文字数・文数も得られます。

単語数と文字数をカウントする →

カウント対象の要素

単語数

単語とは通常、空白で区切られた文字列のことです。多くのカウンターは句読点をまたいでカウントします。don'tは1単語、Hello, world!は2単語とカウントされます。

エッジケース:

  • well-beingなどのハイフン結合語 — ツールによって1単語または2単語
  • 423.14のような数字 — 通常それぞれ1単語
  • https://example.comのようなURL — 通常1単語
  • **bold**# HeadingのようなMarkdown記法 — カウント前に除去するかどうかはツール次第

文字数

2種類の数え方があります:

スペースを含む:すべての空白を含む総文字数。Twitter/Xの文字数制限はこの方式で、スペースも文字としてカウントされます。

スペースを含まない:空白以外の文字のみ。内容の密度を重視する学術的なコンテキストでよく使われます。

500語の記事はスペースを含めて通常2,500〜3,000文字程度です。

文数

文カウンターは.?!の後に空白または文字列の終端が続く箇所で分割します。略語(例:Dr.U.S.)が誤検知の原因になるため、文数はあくまで近似値です。

段落数

段落とは空白行で区切られた行の連続です。段落カウンターを使うことで、意図したアウトラインに構造が沿っているか確認できます。

読了時間

単語数を平均読速で割って計算します。標準は1分あたり200〜250語(成人の平均的な読速)です。1,000語の記事は約4〜5分で読めます。

計算式:

reading_time_minutes = word_count / words_per_minute

ツールによって200 WPM(保守的)または250 WPM(平均)を使用します。1,000語の記事では1分の差があります。大した差ではありませんが、ツールによって異なる読了時間が表示される理由です。

コンテキスト別の単語数目標

コンテキスト典型的な目標備考
ツイート / Xポスト280文字以下単語数ではなく文字数
LinkedInポスト150〜300語長い投稿は途中で切れる
メールニュースレター200〜500語スキャンしやすく
ブログ記事(SEO)800〜2,000語キーワードの競争率による
長文記事2,000〜5,000語総合的なガイド
学術論文のアブストラクト150〜250語学会・ジャーナルによる
学術論文5,000〜10,000語出版媒体による
履歴書300〜600語1ページが目標
志望動機書250〜400語1ページ・3段落

ツールによって数値が異なる理由

同じテキストをMicrosoft Word・Google Docs・Webの単語数カウンターに貼り付けると、微妙に異なる数値が出ることがあります。理由:

  1. ハイフン結合語well-beingを1単語と数えるツールと2単語と数えるツールがある
  2. Markdownの除去:Webカウンターが**bold**を、アスタリスクを含む1単語としてカウントするか、マークアップを除去するか
  3. URLhttps://example.com/pathを1単語とするか、/で分割するか
  4. コードブロック:コードブロックをカウントから除外するツールもある
  5. 空白の扱い:連続した複数のスペース

実用上、ほとんどの場合の差は小さい(2%以下)です。目標がある場合は同じツールを一貫して使うことが重要です。

実践的なユースケース

ブログ記事のSEO最適化

Googleは情報系クエリに対して包括的なコンテンツを優遇する傾向があります。単語数カウンターで目標範囲を達成する助けになります。ドラフトが600語で競合が1,200語でランクしているなら、どこを拡張すべきかわかります。

APIドキュメント

技術ドキュメントは密度分析の恩恵を受けます。セクションごとの単語数をカウントして、コアコンセプトが十分にカバーされ、ボイラープレートが最小になっているか確認します。

READMEファイル

GitHubのREADMEには文字数制限はありませんが、セクションを簡潔に保つことで可読性が向上します。セクションごとの単語数をチェックして、説明が長すぎる箇所を特定します。

メールとサポートの文章

短いメールは読まれます。ドラフトを確認してみましょう。サポートの返信が200語を超えているなら、箇条書きリストで再構成することを検討してください。

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

メタディスクリプションは150〜160文字(スペースを含む)が最適です。文字数カウンターで最適な範囲に収まるよう調整できます。

コードのコメント

コメントの冗長さに関するガイドラインを持つチームもあります。コメントブロックの単語数カウンターで規範内に収まっているか確認できます。

読了時間はUXのシグナル

ブログ記事に推定読了時間を表示することでバウンス率が下がります。「5分で読める」を見て留まる読者は、興味があることを自己選択しています。慣例としては最も近い分に丸めてファーストビューに表示します。

計算式の実装:

function readingTime(text) {
  const words = text.trim().split(/\s+/).length;
  const minutes = Math.ceil(words / 200);
  return `${minutes} min read`;
}
import math

def reading_time(text: str) -> str:
    words = len(text.split())
    minutes = math.ceil(words / 200)
    return f"{minutes} min read"

テキストを貼り付けて即座に統計を得ましょう。単語数カウンターを試す →