DEV Community

Boris Korolev
Boris Korolev

Posted on • Edited on

How I Built a Privacy-First Word Counter Chrome Extension (with CJK Support)

I’ve always been frustrated with online word counters.

You copy text, paste it into a random website, and hope it doesn’t store your content or track you. For writers, editors, and students who work with sensitive drafts, that’s a real problem.

So I built Text Stats — Word & Character Counter — a Chrome extension that gives you instant word count, character counter, and full text statistics right on the page you're reading, 100% offline and private. No text ever leaves your device.

(Previously known as Instant Word Counter — we rebranded to better reflect what the extension actually does: providing complete text stats, not just counting words.)

Why another word counter?

Most existing extensions either:

  • require copy-pasting,
  • use clunky right-click menus,
  • or send your text to external servers for processing. I wanted something faster, truly private, and capable of delivering full text stats — not just a word count, but sentences, paragraphs, average word length, and more.

How it works

  1. Select any text on a webpage.
  2. Click the extension icon (or press Alt+W).
  3. See word count, character count (with/without spaces), estimated reading time, and — when you enable Advanced Stats — sentences, paragraphs, average word/sentence length, longest/shortest sentences, and unique words. All in a clean popup.

If no text is selected, the extension gently guides you. No clutter, no confusion.

CJK character counting

One feature I’m especially proud of: the extension correctly handles Chinese, Japanese, and Korean (CJK) characters. When CJK characters are detected, it automatically switches from "Words" to "CJK Characters" — something most word counters get completely wrong.

It uses the Intl.Segmenter API for word segmentation and falls back to a regex-based counter for older browsers.

Tech stack

  • Vanilla JavaScript (no frameworks)
  • Chrome Manifest V3
  • Intl.Segmenter for accurate word counting
  • chrome.i18n for localization (11 languages and counting)
  • All processing happens locally — no backend, no analytics, no tracking

Privacy by design

  • No data collection
  • No network requests
  • No cookies
  • The extension only requests activeTab and scripting permissions — nothing else

What I learned

  • Intl.Segmenter is powerful but still limited for mixed-language texts
  • Chrome Web Store localization is surprisingly tricky (detailed descriptions must be added manually per language)
  • Users genuinely care about privacy — several early reviews mentioned it as the main reason for installing
  • Keyword-optimized naming matters. After rebranding from "Instant Word Counter" to "Text Stats — Word & Character Counter", the extension started ranking for more relevant search queries like "text stats" and "character counter"

Try it out

Text Stats — Word & Character Counter is free and available on the Chrome Web Store. Search for "Text Stats" or use the link: Text Stats on Chrome Web Store.

Happy to answer questions or hear your feedback in the comments!



Top comments (0)