Word & Character Counter

Word & Character Counter

Live word, character, sentence, paragraph, and reading-time counts as you type. Plus X / Twitter, SMS, and SEO-meta limit indicators. 100% in your browser.

No. The whole counter is JavaScript inside this page. The text never touches a network socket. Open DevTools → Network and watch — no requests fire while you type. Safe to paste unreleased product copy, contracts, customer support drafts, or anything else you'd never want a server tool to log.

CJK scripts don't separate words with spaces — every character is roughly its own meaning unit. iKit counts each CJK character as one 'word' and each non-CJK whitespace-separated token as one word. Mixed input (an English paragraph that includes 中文) gets the sum of both. Reading and speaking-time estimates blend toward CJK rates (350 chars/min reading, 250 chars/min speaking) the more CJK characters appear.

Platform limits

Top words

Why iKit Word Counter

Built for writers, marketers, students, and anyone who needs an accurate count without uploading a single byte to a server.

Eight metrics, live

Words, characters with and without spaces, sentences, paragraphs, lines, reading time and speaking time — all updating in real time as you type or paste.

Selection-aware

Highlight any portion of your text and a small chip shows the count for that selection only — useful for paragraphs, captions, or quoted blocks.

Privacy by design

All counting runs in your browser tab. Verifiable in DevTools → Network: zero requests fire while you type. Safe for confidential drafts and unreleased copy.

Platform limits at a glance

Live progress bars for X / Twitter (280), SMS (160), SEO title (60), and SEO meta description (160) — green / amber / red as you approach the limit.

Reading + speaking time

Calculates reading time at 238 wpm and speaking time at 150 wpm, blended for CJK input. Useful for blog posts, scripts, and presentations.

Top-words frequency

Top 12 most common words ranked by frequency, with a visual bar — quick spot for repetition in marketing copy or essays.

How a word counter actually counts

Counting characters is trivial. Counting words is surprisingly subtle — and counting CJK words is a different problem entirely.

  1. 1

    Characters: code points, not UTF-16 units

    A naive str.length in JavaScript counts UTF-16 code units, so a single emoji like 🚀 counts as 2 (it's a surrogate pair). iKit uses [...text].length which iterates over code points — every emoji counts as 1, accented letters count as 1, and CJK characters count as 1.

  2. 2

    Words: split on whitespace + Unicode-letter regex

    We match [\p{L}\p{N}_'’]+ with the /u flag, which catches every letter and digit across every alphabet (Latin, Cyrillic, Greek, Arabic, Devanagari, Hebrew, Thai, etc.). This handles accented characters and apostrophes (don't, it's) cleanly without splitting them in the wrong place.

  3. 3

    CJK: each character is one word

    Chinese, Japanese, and Korean don't separate words with spaces. iKit detects code points in the CJK ideograph + Kana + Hangul + Thai blocks and counts each as one word — so a 280-character Chinese tweet correctly reads as 280 words, not 1 (which is what naive splitters would say).

  4. 4

    Sentences and paragraphs: punctuation + blank-line splits

    Sentences are bounded by . ! ?。 ! ? followed by whitespace or end-of-string. Paragraphs are separated by two or more newlines. Lines are simply newline-separated regardless of content (including blank lines), matching what most editors show in the line-number gutter.

Common counting tasks

Real situations where you'll reach for a word counter.

Hitting a 1,000-word essay or 500-word article

Students, journalists, and copywriters routinely write to a target. Live word count means you don't keep flicking back to MS Word's status bar — the number is always visible as you type, and you can highlight a paragraph to see its sub-count.

Writing within a 280-character X / Twitter post

The chip shows you the exact remaining characters as you type — no need to count in your head while balancing readability and information density. Same for SMS at 160 chars, where going over costs real money on bulk-send services.

SEO title and meta description tuning

Google truncates titles around 60 characters and meta descriptions around 160. Paste your draft, watch the chips turn from green → amber → red, and trim until you're back inside the line. Saves a Lighthouse audit round-trip.

Spotting overused words in marketing copy

The top-12 frequency table makes repetition jump out. If 'amazing' appears 8 times in 300 words, you'll see it instantly — and replace half of them with stronger verbs. Equally useful for student essays trying to vary diction.

Why local counting matters

The texts you count are usually personal: an essay draft, a contract clause, a job application, a marketing campaign that hasn't shipped. Pasting any of these into a server-side counter creates a paper trail of unpublished work. iKit's counter is plain JavaScript already loaded in your browser tab.

  • Zero network requests during counting — verifiable in DevTools → Network.
  • Text stays in browser memory; cleared on Clear or page refresh.
  • Safe for confidential drafts, NDA-protected copy, customer support transcripts, and unreleased product announcements.

Related guides

Deep-dive tutorials and tool comparisons from the iKit blog.

Frequently Asked Questions

Is this safe? Are my texts uploaded?

No. The whole counter is JavaScript inside this page. The text never touches a network socket. Open DevTools → Network and watch — no requests fire while you type. Safe to paste unreleased product copy, contracts, customer support drafts, or anything else you'd never want a server tool to log.

How does iKit count words for Chinese, Japanese, or Korean?

CJK scripts don't separate words with spaces — every character is roughly its own meaning unit. iKit counts each CJK character as one 'word' and each non-CJK whitespace-separated token as one word. Mixed input (an English paragraph that includes 中文) gets the sum of both. Reading and speaking-time estimates blend toward CJK rates (350 chars/min reading, 250 chars/min speaking) the more CJK characters appear.

Why are the X / Twitter and SMS limit indicators useful?

X / Twitter caps posts at 280 characters. SMS messages above 160 characters get split into 153-char multi-part messages (each one billed separately). SEO title and meta description have soft limits before Google truncates them in search results: ~60 and ~160 characters. The progress bars turn amber at 85% and red when over — easier than counting in your head while you write.

What's the difference between reading and speaking time?

Reading time uses 238 words per minute (the average for adult silent reading on screens, per recent meta-analyses). Speaking time uses 150 wpm (the average for clear, slow-paced public speaking — TED talks tend to come in around 165 wpm). For CJK we use 350 and 250 characters per minute respectively. Use reading time for blog post badges and speaking time for video script length.

How is this different from MS Word's word count?

Same metric, different defaults. Word's count opens a dialog and stops at words + characters; iKit shows eight metrics simultaneously plus platform limits and word frequency. Word also doesn't handle CJK gracefully (often shows 0 or unreliable counts on mixed text). And — the obvious one — iKit doesn't require Word installed, runs on any device, and doesn't upload your draft to OneDrive.