PDF Word Counter
Count words, characters, sentences, lines and reading time in any PDF — Chinese, Japanese and Thai included. Per-page breakdown CSV.
PDF Word Counter
How to count words in a PDF
Add your PDF
Drag or click to choose. The tool extracts every page's text and computes word, character, sentence, line and reading-time statistics.
Read the summary
Top panel shows the totals across the document — words, characters with and without spaces, sentences, lines, Chinese/Japanese characters when there are any, and estimated reading time. Below that is a per-page table for granular analysis.
Export the breakdown
Click Download per-page CSV to save the table as a CSV file. Open in Excel, Sheets, Numbers, or any tool that reads CSV — useful for invoicing per-word translation work, academic word-count compliance, or content audit reports.
Word counting in PDFs — billable, gradable, audit-worthy
A word count from a PDF feeds more decisions than it looks: translators quote on it, journals and universities enforce limits with it, and content teams cost migrations by it. The count has to come from the PDF's text layer, which is not the same thing as the document the author typed, and that is where most of the disagreements between tools come from.
Why every tool gives a slightly different number
"Word" needs a rule. Is state-of-the-art one word or four? Is a bullet or a dash a word? Are page headers and footers counted? Different programs answer differently, so Word, Acrobat and this tool can give different totals for the same document. For anything billable, the defensible position is to name the tool and the rule and use them consistently. This tool's rule is below, in full.
A word count is only comparable with another made by the same rule. Write the rule down with the number.
What we fixed on 30 September 2026
Three things were wrong. Text pieces from pdf.js were joined with a space wherever the font changed, even in the middle of a word, so an italic letter or a bold phrase followed by a comma added words that were not there: on four pages of the ISO 32000 PDF standard the old count ran from 1% to 9% above Poppler's pdftotext. A Chinese sentence, written without spaces, counted as one word, and PDFs whose Chinese, Japanese or Korean fonts are not embedded lost that text altogether because the character maps pdf.js needs were never loaded. And the "Paragraphs" figure was always the number of pages, because each page's line breaks were removed before paragraphs were split on blank lines; it has been replaced by a line count, which the PDF actually records.
What this tool counts — and how
Words in space-separated scripts are runs of characters between spaces that contain at least one letter or digit, so a hyphenated compound is one word, a URL is one word, and a lone dash or bullet is none. Chinese, Japanese, Thai, Lao, Khmer and Myanmar runs are split with your browser's own word segmenter (Intl.Segmenter, Unicode word-boundary rules with language dictionaries), and Chinese and Japanese characters are also counted on their own, because translators often quote those languages per character. Characters are counted as Unicode characters, with and without spaces. Sentences end at ., ! or ? followed by a space, or at 。!? — a deliberately simple rule that "Dr. Lee" will fool. Lines are the text lines pdf.js reports. Reading time is space-separated words divided by 238.
4.79 letters a word, 238 words a minute, and scripts without spaces
Across the Google Books English corpus — 743.8 billion word uses in Peter Norvig's analysis — the average word is 4.79 letters, and 80% of words are 2 to 7 letters long.
The average silent reading rate for adults in English is 238 words per minute for non-fiction and 260 for fiction, from Marc Brysbaert's 2019 meta-analysis of 190 studies and 18,573 participants.
The same analysis puts reading aloud at 183 words per minute, and found the higher figures often quoted in popular writing to be overestimates.
Chinese, Japanese and Thai are written without spaces between words, so a whitespace word counter sees a whole sentence as one "word". Korean does use spaces.
Where word boundaries are not marked, software finds them with dictionaries. Browsers expose this as Intl.Segmenter, which this page uses for those scripts.
Hyphenated compounds are the classic disagreement: whitespace rules make state-of-the-art one word, while Unicode's word-boundary rules split it at the hyphens.
A scanned PDF has no text layer, only a picture of each page, so every word counter gives 0 until the file has been through OCR.
Headers, footers, page numbers and table cells are text like any other in a PDF, so they are counted. For a body-text-only count, remove them in the source document.
A PDF records text as positioned pieces, not words or paragraphs. Where a piece ends mid-word — at a font change, say — a counter has to decide whether a space was meant; this one looks for a visible gap.
Reading-time estimates are averages over people: in Brysbaert's data most adults read English non-fiction at 175–300 words per minute, so a 500-word page takes about 1¾ minutes at 300 words per minute and nearly 3 at 175.
FAQ
-
No. pdf.js runs entirely in your browser; counting is pure JavaScript. Your PDF is read into memory, analysed in memory, results shown in the panel. Open DevTools → Network and watch — zero outbound traffic.
-
Because the rule differs, and because a PDF is not the Word file it came from — headers, footers, hyphenated line breaks and page numbers are all text in the PDF. This tool counts by the rule described above; state that rule alongside any count you bill or submit.
-
The PDF almost certainly has no text layer — it is a scan, a picture of each page. There is nothing to count until the file has been through OCR (optical character recognition), for example Adobe Acrobat's text recognition or the free Tesseract. If the PDF opens in a viewer and you can select its text, but the count is still 0, please tell us: that is a bug.
-
Yes. Everything in the PDF's text layer is counted, including headers, footers, page numbers, footnotes and table cells. PDFs do not mark which text is a header, so for a body-only count, remove those from the source document or subtract them.
-
Yes. Chinese and Japanese text is split into words by your browser's segmenter, and the number of Chinese/Japanese characters is shown separately, since translation into or out of those languages is often priced per character. Korean is written with spaces and is counted like English. PDFs whose CJK fonts are not embedded now extract correctly too — until 30 September 2026 their text was dropped. Reading time is not estimated for these scripts, because the 238 wpm rate is an English figure.
-
It uses the naive rule: count runs of
.,!, or?followed by whitespace. Works well for most prose. Will mis-count when sentences end in abbreviations ("Dr. Lee said.") or contain mid-sentence dot-separated tokens (URLs, version numbers). Treat it as a rough indicator, not a contract metric. -
Space-separated words divided by 238, the average adult silent reading rate for English non-fiction in Brysbaert's 2019 meta-analysis; most adults fall between 175 and 300 words per minute. Fiction averages 260. Words found by segmenting Chinese, Japanese or Thai are not included.
-
Yes. Download per-page CSV saves one row per page — words, characters, characters without spaces, Chinese/Japanese characters, sentences, lines and reading minutes — plus a TOTAL row. Open it in Excel, Sheets or Numbers.
-
The limit is your browser's memory, since the whole file is read into it; counting itself is quick. Text extraction runs page by page, so a long document takes proportionally longer, and phones take longer than laptops.
-
Yes, in current Safari on iOS and Chrome on Android. The statistics grid drops to two columns on a phone-width screen.
Method & sources
What this tool implements
- Until this review items were glued with spaces at every font change: on four ISO 32000 pages the old count ran 1-9% over pdftotext. A Chinese sentence counted as one word, and PDFs with non-embedded CJK fonts lost that text entirely because pdf.js had no CMaps.
- "Paragraphs" was always the page count — line breaks were collapsed before splitting on blank lines — and is replaced by lines.
- Reading rate 238 wpm is Brysbaert's average for silent reading of English non-fiction (260 fiction; most adults 175-300), replacing an unsourced 230; average word length 4.79 letters (Norvig), not 4.7.
Sources
- Brysbaert M. How many words do we read per minute? A review and meta-analysis of reading rate. J Mem Lang. 2019;109:104047. https://doi.org/10.1016/j.jml.2019.104047
- Norvig P. English Letter Frequency Counts: Mayzner Revisited. https://norvig.com/mayzner.html
- Mozilla. PDF.js (Apache 2.0). https://mozilla.github.io/pdf.js/
Pick up where you left off
Stored only in this browser — never sent to our servers.