Markdown 文字数カウンター
Markdownを貼り付けるか、ファイルを読み込むだけ。コードブロック、インラインコード、リンク先URLを取り除いてから数えるので、本文の実際の分量がわかります。
Markdownの文字数をカウントするには?
Markdown記法をそのまま数えると、コードブロックやURL、記号まで含まれて実際より多くなります。正確に測るには、フェンスコードブロック・インラインコード・リンク先URL・HTMLタグを取り除いてから本文だけを数えます。日本語では単語数より文字数を基準にするのが一般的です。
pandoc -t plain README.md | wc -mpandocがMarkdownをプレーンテキストに変換し、wc -m がその文字数を数えます。.mdファイルに直接 wc をかけるより実際の分量に近い値になります。単語数が必要な場合は -m を -w に変えてください。
Markdown 文字数カウンターを使う
統計
Markdown入力
プレビュー
Markdown 文字数カウンター
MDUtil の文字数カウンターへようこそ。このツールでできることは次のとおりです。
- 本文の文字数と単語数を数える
- 読了時間の目安を計算する
- 行数と段落数もあわせて確認する
- コードブロックと記法の記号は自動で除外する
仕組み
入力されたMarkdownを解析し、記法の記号を取り除いたうえで、実際に読まれる文字だけを数えます。読了時間は1分あたり225語という平均的な読書速度を基準に算出しています。
サンプル
これは動作を確認するためのサンプルの文章です。ご自身のMarkdownに貼り替えれば、その場で正確な統計が表示されます。
コード例(統計には含まれません)
// このコードは文字数に数えられません
function helloWorld() {
console.log("Hello, world!");
}
書くときのヒント
- ブログ記事は3,000〜6,000文字あたりが読まれやすい分量です
- 5分で読める記事は日本語でおよそ2,500文字です
- 長い段落は分けると読みやすくなります
- 見出しで構成を整理しましょう
良い文章は、書き直された文章です。
Markdownの文字数に数えるもの、数えないもの
汎用のカウンターに.mdファイルを渡すと、フェンス行も見出しの#もURLも一律に数えられ、結果は必ず多めに出ます。次の6つが「ファイルの文字数」と「読める本文の文字数」を分けるポイントです。
フェンスコードブロックとインラインコード
コードは本文ではありません。バッククォート3つで囲まれた範囲は丸ごと除外され、バッククォート1つで囲んだ部分も同様です。技術文書で数字が膨らむ最大の原因がこれです。
`npm i -g mdutil` でCLIをインストールし、次のコマンドを実行します。
```bash
mdutil count README.md --json
```数えられるのは説明文の1行だけです。バッククォート内のコマンドとフェンスコードブロック全体は合計に含まれません。
リンク・画像・裸のURL
リンクは表示されるテキストだけを数え、リンク先は数えません。除外しないと、UTMパラメーター付きの長いURL1本で十数語分が上乗せされてしまいます。画像は読者が読む文字を持たないため、同じく対象外です。
詳しくは[移行ガイド](https://example.com/docs/v2/migration?utm_source=blog)をご覧ください。「詳しくは移行ガイドをご覧ください」の部分だけが数えられ、URLとクエリ文字列はすべて破棄されます。
見出し・リスト・引用の記号
構造を表す記号は語彙ではなくマークアップです。見出しの#、リストのハイフン、表のパイプ、引用の>は合計に含まれません。ただし、それらに続く文字は通常どおり数えられます。
## リリースノート
- 起動が高速化
- メモリ使用量を削減
> 金曜日にリリースします。「リリースノート」「起動が高速化」「メモリ使用量を削減」「金曜日にリリースします」だけが対象になり、##、-、> は無視されます。
本文に直接書いたHTML
MarkdownはHTMLをそのまま書けます。カウント時はタグを取り除いて中身のテキストだけを残すため、バッジを並べた表や折りたたみブロックがあっても数字が歪みません。
<details>
<summary>詳細オプション</summary>
これらのフラグは実験的な機能です。
</details>「詳細オプション」と「これらのフラグは実験的な機能です」だけが数えられ、タグ自体は1文字も加算されません。
YAML front matterは数えられる
唯一注意したい落とし穴です。front matterは書き手にとってはメタデータですが、カウンターから見ればファイル冒頭にある普通のテキストにすぎません。本文だけの分量が知りたい場合は、測る前に削除してください。
---
title: 会議を減らして開発を速くする
date: 2026-07-24
tags: [開発プロセス, リモート]
---
本文はここから始まります。メタデータの分だけ本文の合計に上乗せされます。記事の実際の長さを知りたいときは、front matterを外してから測るのが確実です。
文字数から読了時間を求める
読了時間は分量を読む速度で割った値です。このツールは英語の成人読者で計測される200〜250語の中央値をとり、1分あたり225語で計算しています。日本語の本文は分速400〜600文字が目安なので、文字数を500で割ると近い値になります。
読了時間(分)= 単語数 ÷ 225 # 英語
読了時間(分)= 文字数 ÷ 500 # 日本語英語で1,125語なら約5分、日本語で2,500文字ならほぼ同じく約5分の読み物です。内容の濃い技術記事では、もう少し遅めに見積もってください。
他のツールはMarkdownをどう数えているか
多くのエディターはファイルの中身をそのまま数えます。同じ文書なのにアプリごとに分量が違って見えるのはこのためです。表示された数字を信じる前に、何を数えた値なのかを確認してください。
| プラットフォーム | 対応状況 | 備考 |
|---|---|---|
| MDUtil(このページ) | 本文のみ | コードブロック、インラインコード、リンク先URL、HTMLタグを取り除いてから数えます。 |
| VS Code | ファイルそのまま | ステータスバーのMarkdown文字数には、フェンス行も見出しの#もURLも含まれます。 |
| Obsidian | ノート全体 | 標準のカウンターはノートを丸ごと読むため、YAML front matterやコードブロックも合計に入ります。 |
| GitHub / GitLab | 非対応 | README、Issue、プルリクエストの説明のいずれにも文字数の表示はありません。 |
| Notion | 変換後のテキスト | 貼り付けたMarkdownはブロックに変換されるため、記法の記号は合計に残りません。 |
| Word / Google ドキュメント | ファイルそのまま | Markdownをそのまま貼り付けると、アスタリスクや#、URL全体まで数えられて多めに出ます。 |
| Qiita / Zenn / はてなブログ | 表示なし | いずれもMarkdownで執筆できますが、編集画面に文字数の表示はないため、投稿前に別途数えておくと安心です。 |
Markdownの文字数を数える手順
Markdownを入力する
エディターに入力または貼り付けるか、読み込みボタンで手元の.md、.markdown、.txtファイルを開きます。
統計バーを見る
ツール上部の単語数、読了時間、文字数、行数、段落数が、1文字入力するたびに更新されます。
プレビューで確かめる
プレビューとエディターを見比べて、除外されるはずの部分、とくにコードブロックが本当にコードとして書けているかを確認します。
統計を書き出す
「統計を書き出す」から、すべての指標とタイムスタンプを含むJSONを保存できます。記事の分量を継続的に記録したいときに便利です。
よくある質問
Markdownの文字数を数えるには?
プレーンテキストとしてではなく、Markdownを解析できるカウンターに貼り付けてください。このページでは入力しながらリアルタイムに更新されます。ターミナルからなら pandoc -t plain README.md | wc -m のように、いったんプレーンテキストへ変換してから数えると近い値が得られます。
文字数にMarkdownの記号は含まれますか?
含まれません。見出しの#、リストのハイフン、表のパイプ、引用の>、強調のアスタリスク、HTMLタグはすべてカウント前に取り除かれます。読者が実際に読む文字だけが対象です。
コードブロックも文字数に入りますか?
入りません。フェンスコードブロックとインラインコードは先に除外されるため、長いサンプルコードを載せたドキュメントでも、ソースコードに埋もれない本文だけの分量がわかります。
読了時間はどうやって計算していますか?
単語数を1分あたり225語で割っています。成人読者で計測される200〜250語の中央値です。1分未満は秒で表示されます。日本語の本文は単語数が実態を表しにくいため、文字数を分速400〜600文字で割った値を目安にしてください。
5分で読める文章は何文字くらいですか?
日本語なら分速400〜600文字として、およそ2,000〜3,000文字です。英語では225語毎分で約1,125語にあたります。オンライン記事はこの長さが読まれやすいとされ、多くのブログ記事がこの範囲に収まっています。
VS Codeの文字数と数字が合わないのはなぜですか?
VS Codeのステータスバーはファイルの中身をそのまま数えるため、フェンス行も見出しの#もURLも1語として扱われます。コード例の多い技術記事では、本文だけを数えた値との差が3割を超えることもあります。
YAML front matterも文字数に含まれますか?
含まれます。カウンターから見ればfront matterはファイル冒頭の普通のテキストなので、メタデータの分だけ合計が増えます。本文だけの長さが必要なときは、測る前に削除してください。
日本語の文字数は正しく数えられますか?
文字数は正確に数えられます。一方で単語数は空白で区切って数える方式のため、単語を空白で分けない日本語や中国語では信頼できません。日本語の原稿では文字数を基準にしてください。編集や出版の現場で使われている単位も文字数です。
入力したMarkdownはサーバーに送信されますか?
送信されません。計算はすべてブラウザ内のJavaScriptで完結します。アップロードも保存もログ記録も行われないため、未公開の原稿や社内文書でも安心して使えます。
文字数と単語数はどう違いますか?
どちらもコードブロックやURLを取り除いた同じテキストを対象に計算しています。文字数は空白と句読点も含めた文字の総数で、日本語のように単語を空白で区切らない言語ではこちらが実態に合った指標になります。