Word & Character Counter

Count words, characters, sentences and reading time instantly — free, nothing stored.

100% free No signup No watermark Processed in memory, never stored

How it works

  1. Paste text. Drop or type your text into the box.
  2. Count. Press Count words to tally words, characters, sentences, paragraphs and lines.
  3. Read the stats. See every figure at once, including an estimated reading time.

About this tool

Paste any text and get an instant breakdown: words, characters (with and without spaces), sentences, paragraphs, lines and an estimated reading time. It's built for anyone working to a limit — an essay word count, a meta description character cap, a social post, or a script timed for reading aloud. Everything is counted from the text you submit and nothing is kept afterwards; there's no signup and no length paywall up to a generous limit.

What people use it for

  • Hit an essay or assignment word count
  • Keep a meta description within its character limit
  • Check a social post fits the platform cap
  • Estimate how long a script takes to read aloud

Developer API

Automate this tool from your own code. Send a POST request to the endpoint below and get the same result the web tool produces. It is rate-limited per IP and needs no signup — API keys for higher limits are coming.

POST https://best.free/api/tools/word-counter/
Parameter Example Required Notes
text Paste any text here to count it. Yes ≤500,000 chars.
curl -X POST https://best.free/api/tools/word-counter/ \
  -H 'Content-Type: application/json' \
  -d '{"text": "Paste any text here to count it."}'
import requests

r = requests.post(
    "https://best.free/api/tools/word-counter/",
    json={"text": "Paste any text here to count it."},
)
print(r.json())
const r = await fetch("https://best.free/api/tools/word-counter/", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({ text: "Paste any text here to count it." }),
});
const data = await r.json();
console.log(data);

Response: JSON stats: words, characters, sentences, reading time…

{"ok": true, "stats": {"words": 7, "characters": 32, "reading_time": 1}}

Frequently asked questions

Words, characters with spaces, characters without spaces, sentences, paragraphs, lines and an estimated reading time — all at once.

It assumes roughly 200 words per minute, a common average for silent reading, and rounds up to at least one minute.

You can paste up to about 500,000 characters in one go, which covers very long documents.

Spaces, tabs and line breaks are removed before counting, which is the figure many character limits actually use.

No. It is counted for your request and discarded immediately — nothing is stored or logged.

No account, no email, no payment — just paste and count.

Words are counted by whitespace, so any space-separated language works. Scripts that don’t use spaces between words will count differently.

Yes. POST a JSON body to /api/tools/word-counter/ and you get a JSON response back — the same engine the web tool uses, so results are identical. It is rate-limited per IP like the web version and needs no signup; API keys for higher limits are coming. See the API section above for ready-to-run curl, Python and JavaScript examples.