Skip to content
QKQuickKit日本語
TextLOCALRuns in your browser

Character / Byte Counter

Count characters, bytes, words, and lines of text live in the browser, including emoji-aware counts.

This tool handles input and primary processing in your browser and is designed not to send the input to QuickKit’s server.

Live counts

Live counts
Characters (UTF-16 units)—
Characters without whitespace—
Graphemes (visible characters)—
Unicode code points—
Bytes (UTF-8)—
Bytes (UTF-16)—
Words (whitespace-separated)—
Words (Unicode segmentation)—
Lines—
Non-empty lines—
Whitespace characters—
How it works

Characters counts UTF-16 code units, the value JavaScript's string length returns. Graphemes counts what a reader sees as one character, so a family emoji counts as one. UTF-8 bytes is the size when saved or sent as UTF-8. Two word counts are shown because they answer different questions: the whitespace-separated count splits on spaces only, so Japanese, Chinese, Thai, and other text written without spaces reports as a single word; the Unicode word count uses the browser's Intl.Segmenter (UAX #29 word boundaries) and does segment those scripts. Counting updates as you type.