Result
This page has no server side at all. The table you paste is parsed by JavaScript inside your own browser, the chart is drawn on a canvas element on your machine, and the export file is assembled locally. Nothing is uploaded, stored or written to any log. You can disconnect from the network after the page has loaded and everything will still work — which is the simplest way to verify the claim yourself.
Facts and limits of this method
| Word splitting | By spaces, tabs and line breaks |
|---|---|
| Punctuation at edges | Stripped by default: "word," counts as 4 characters, not 5 |
| Punctuation inside a word | Hyphens and apostrophes inside a word aren't stripped: "well-known" is 10 characters |
| Unit of measurement | Characters (code points), not bytes or syllables |
| Result precision | The average is rounded to one decimal place |
| Empty text | Shows "—" instead of dividing by zero |
When it misleads you
- A "word" is a run of characters between spaces, with no language analysis. A hyphen in "well-known" doesn't split it into two — it's counted as one long word of 10 characters, which can inflate average length for texts with many compound words.
- When punctuation stripping is on, punctuation marks are removed only from the very start and end of a word. A period inside an abbreviation ("e.g.") or a number with a decimal point ("3.14") isn't touched — it stays part of the word as a whole.
- When stripping is off, quotes, parentheses and punctuation attached to a word add to its length: "(word)" counts as 6 characters, not 4.
- Apostrophes and hyphens inside a word are never stripped, even with the option on — "don't" stays 5 characters, and "well-known" stays 10. Only punctuation sitting right at the word's boundary, next to a space, gets stripped.
How it is calculated
The text is first split into words on whitespace characters — regular spaces, tabs and line breaks; empty fragments are discarded.
If "strip punctuation" is on, every non-letter, non-digit character is removed from the very start and end of each word — quotes, periods, commas, parentheses. Punctuation inside a word (hyphen, apostrophe) is left alone.
Each word's length is measured in characters (code points) after processing. The average is the sum of all word lengths divided by the word count, rounded to one decimal place.
The shortest and longest word are found by simply scanning all word lengths — it's the minimum and maximum of the length array, not the actual shortest/longest word text.
Questions and answers
How is punctuation at word edges handled?
By default it's stripped: "word," and "word." both count as 4 characters, not 5. Uncheck the box if you want punctuation attached to a word to count toward its length.
What happens to hyphens and apostrophes inside a word?
They're never stripped, even with "strip punctuation" on — that option only touches marks right at the edge of a word, not inside it.
Why does the average show "—"?
It means there are no words in the text — the field is empty or contains only spaces and punctuation.
Are numbers counted as part of a word?
Yes, if they sit inside an unbroken run of non-space characters — "Windows10" counts as one word of 9 characters.
Is my text sent anywhere?
No. The whole calculation runs in your browser; the text is never transmitted.