Check a sample while you read
Paste text into the counter to compare totals with the examples below.
Why do two character counters disagree?
They may be counting different units. A counter can measure visible symbols, Unicode code points, UTF-16 code units, or bytes. It can also include or exclude whitespace. None of those totals alone tells you whether a particular form will accept your text.
ToolKnit currently uses JavaScript string length for its total: UTF-16 code units, including whitespace. Ordinary English letters and many common Chinese characters each use one unit. Some emoji use two or more. This guide explains that behavior; the Character Counter is the place to measure your own text.
Spaces and line breaks: what is included?
The total includes spaces, tabs and line breaks. The value labelled Chars (no whitespace) removes whitespace, including tabs and line breaks, not only the visible spaces between words. A blank line therefore changes the total even though it adds no letters.
| Text | Total | Without whitespace | Paragraphs |
|---|---|---|---|
Hi! | 3 | 3 | 1 |
A B | 3 | 2 | 1 |
A\nB — one line break | 3 | 2 | 1 |
A\n\nB — a blank line | 4 | 2 | 2 |
Here \n means one line-feed character, not a backslash followed by the letter n. Text pasted into a browser text box uses normalized line breaks; another editor or file format may represent them differently.
Why can one emoji count as more than one character?
A visible symbol is not necessarily one unit of stored text. The face π uses two UTF-16 units. The family π¨βπ©βπ§βπ¦ combines several emoji and invisible joiners, producing eleven units in ToolKnit even when your device draws one family symbol.
Accents can differ too: Γ© as the single code point U+00E9 counts as one unit, while eΜ written as U+0065 plus the combining accent U+0301 counts as two. They can look the same. ToolKnit does not normalize those two spellings into one representation or count grapheme clusters, the units that more closely match visible symbols.
This is also why a character total cannot tell you the UTF-8 file size. Bytes measure storage; the total shown by this tool measures UTF-16 units.
Chinese text: characters are not the same as words
δ½ ε₯½ produces a total of 2 and a word estimate of 2 in ToolKnit. That second number does not mean the tool has identified two linguistic words. It counts each recognized Han character individually and adds whitespace-separated tokens containing English letters or digits.
For example, Hello δΈη has 8 total units, 7 without whitespace, and a word estimate of 3. This can be useful for a rough mixed-text breakdown, but it is not Chinese word segmentation. Rare characters outside the supported Han ranges, Japanese kana and Korean hangul do not receive a reliable linguistic word count from this method. Some supplementary-plane Chinese characters also occupy two UTF-16 units.
If an assignment requires Chinese characters, use the relevant character total and check whether punctuation and whitespace are allowed. If it requires words in a particular language, use the editor or counting rule required by that assignment.
Paragraphs, sentences and reading time are different estimates
ToolKnit separates paragraphs at a blank line. Pressing Enter once creates another line but stays within the same counted paragraph. A line that wraps automatically on a narrow phone screen does not add a stored line break. For complete sample texts, see how many paragraphs 2000 characters can contain.
Sentence counting splits on periods, question marks and exclamation marks, including their Chinese equivalents. It is a simple estimate: abbreviations such as Dr. and decimal numbers can be split even when they are not sentence endings.
The reading-time estimate uses 200 English-style words per minute plus 300 recognized Han characters per minute. These are the tool's calculation assumptions, not a promise about your reading speed or comprehension.
What to check when a form rejects your text
- Read the destination's rule. Find out whether it limits words, characters, visible symbols or bytes, and whether whitespace counts. Different services can treat links or emoji specially.
- Compare the exact text. Copy it back from the destination if possible. Check leading or trailing spaces, blank lines and formatting introduced by pasting.
- Try a small known example. Compare
A Bandπin both counters. A disagreement can reveal different counting rules rather than lost text. - Use the destination as the final check. ToolKnit is a writing aid; the receiving editor decides whether a submission fits its limit.
Frequently asked questions
Does ToolKnit include spaces in the character count?
Yes. The total includes spaces, tabs and line breaks. The Chars (no whitespace) value excludes whitespace, including tabs and line breaks.
Does an emoji always count as one character?
No. ToolKnit counts UTF-16 code units, so a smiley can count as two and a joined emoji sequence can count as more. A service counting visible symbols may show a different total.
Does pressing Enter add a new paragraph?
One line break adds a line. ToolKnit counts a new paragraph when a blank line separates nonempty text blocks. Automatic line wrapping does not add a paragraph.
Check the definitions
The examples above describe the current implementation, not a universal platform standard. For the underlying text concepts, see MDN on JavaScript string length and Unicode's text segmentation specification. To measure a draft, return to the Character Counter.
Check your text using the same counting rules
Compare the result with the editor or form where you will submit it.