KKitForma.

Language

EnglishEnglishTürkçeTurkishDeutschGermanBlog unavailable in this language · open toolsEspañolSpanishBlog unavailable in this language · open toolsFrançaisFrenchBlog unavailable in this language · open toolsPortuguêsPortugueseBlog unavailable in this language · open toolsItalianoItalianBlog unavailable in this language · open toolsNederlandsDutchBlog unavailable in this language · open toolsPolskiPolishBlog unavailable in this language · open toolsРусскийRussianBlog unavailable in this language · open toolsУкраїнськаUkrainianBlog unavailable in this language · open toolsSvenskaSwedishBlog unavailable in this language · open toolsNorskNorwegianBlog unavailable in this language · open toolsDanskDanishBlog unavailable in this language · open toolsSuomiFinnishBlog unavailable in this language · open toolsČeštinaCzechBlog unavailable in this language · open toolsRomânăRomanianBlog unavailable in this language · open toolsΕλληνικάGreekBlog unavailable in this language · open toolsالعربيةArabicBlog unavailable in this language · open toolsעבריתHebrewBlog unavailable in this language · open toolsفارسیPersianBlog unavailable in this language · open toolsاردوUrduBlog unavailable in this language · open toolsहिन्दीHindiBlog unavailable in this language · open toolsবাংলাBengaliBlog unavailable in this language · open toolsதமிழ்TamilBlog unavailable in this language · open toolsతెలుగుTeluguBlog unavailable in this language · open toolsमराठीMarathiBlog unavailable in this language · open toolsગુજરાતીGujaratiBlog unavailable in this language · open tools简体中文Chinese SimplifiedBlog unavailable in this language · open tools繁體中文Chinese TraditionalBlog unavailable in this language · open tools日本語JapaneseBlog unavailable in this language · open tools한국어KoreanBlog unavailable in this language · open toolsTiếng ViệtVietnameseBlog unavailable in this language · open toolsไทยThaiBlog unavailable in this language · open toolsBahasa IndonesiaIndonesianBlog unavailable in this language · open toolsBahasa MelayuMalayBlog unavailable in this language · open toolsFilipinoFilipinoBlog unavailable in this language · open toolsKiswahiliSwahiliBlog unavailable in this language · open toolsAfrikaansAfrikaansBlog unavailable in this language · open toolsMagyarHungarianBlog unavailable in this language · open toolsБългарскиBulgarianBlog unavailable in this language · open toolsHrvatskiCroatianBlog unavailable in this language · open toolsSrpskiSerbianBlog unavailable in this language · open toolsSlovenčinaSlovakBlog unavailable in this language · open toolsSlovenščinaSlovenianBlog unavailable in this language · open toolsLietuviųLithuanianBlog unavailable in this language · open toolsLatviešuLatvianBlog unavailable in this language · open toolsEestiEstonianBlog unavailable in this language · open toolsCatalàCatalanBlog unavailable in this language · open toolsEuskaraBasqueBlog unavailable in this language · open tools

Writing & text

Why two word counters can give different results

Choose a word and character definition that matches your task, especially for emoji, combined characters and writing without spaces.

Start with the rule you need to satisfy

An essay limit, a social profile field and a translation estimate may count different things. One system may include spaces, another may count user-perceived characters, and a third may use an internal string length. Ask which rule matters before shortening text to meet a number.

KitForma provides a quick text counter and a more configurable Line Counter. The quick counter shows words, Unicode code points, characters excluding whitespace, sentences, paragraphs and estimated reading time. A displayed character total is not automatically the same as the limit enforced by another website.

Use the appropriate word definition

The quick counter uses language-aware segmentation when the browser supports Intl.Segmenter, falling back to whitespace-based counting otherwise. The chosen page language helps determine segmentation. For a more explicit comparison, Line Counter lets you choose a content language and either whitespace-separated or language-aware words.

Whitespace mode is straightforward for a draft whose words are separated by spaces, but it is not a universal linguistic rule. Chinese or Japanese text and punctuation-heavy material can produce different totals with language-aware segmentation. If that feature is unavailable in the browser, the configurable tool explains that limitation.

Distinguish code points from visible characters

A visible character can contain several Unicode code points. An emoji with a skin-tone modifier, for example, can be displayed as one symbol while containing two code points. A letter followed by a combining accent can create a similar difference.

Line Counter offers code-point and visible grapheme-cluster modes. The quick text counter uses code points. Choose the appropriate mode rather than removing valid characters merely to make two unrelated counters agree. There is also a separate UTF-16 length used by the tools’ input limits; it is not necessarily either displayed count.

Text: 👍🏽
Unicode code points: 2
Visible grapheme clusters: 1
UTF-16 code units: 4

Count the version you will actually submit

Paste the final draft, including any title, signature or line breaks that the destination counts. When comparing versions, avoid accidentally adding an extra paragraph from the clipboard. Line Counter distinguishes total lines from nonempty lines; an empty trailing line can matter for that comparison.

Use whitespace cleanup only when you intend to change the text. Removing spaces or line breaks can alter formatting and meaning. After cleanup, read the result and recount it. Keep a copy of the original so a smaller number does not come at the cost of an unwanted edit.

For a one-item-per-line list that should contain unique sorted entries, trim each line in Whitespace Cleaner, copy that result to Remove Duplicate Lines, then copy its result to Sort Lines in alphabetical A–Z mode. Keep comparison case-sensitive unless you intend to merge different spellings. Do not apply this sequence to prose or lists where repetition and order carry meaning.

  1. Choose the content language and counting mode.
  2. Paste the exact submitted text and inspect its ending.
  3. Compare with the destination’s own counter before final submission.
Original list: " pear ", "apple", "pear", " banana " (one item per line)
Trim each line: pear / apple / pear / banana
Remove duplicate lines: pear / apple / banana
Sort A-Z: apple / banana / pear
The slashes here show line breaks, not characters to paste.

Treat reading time as an estimate

The quick counter estimates reading time at 200 words per minute and rounds nonempty results up to whole minutes. The separate Reading Time Estimator lets you choose a pace and word-counting mode. Neither measures how long a particular reader will need to understand a difficult paragraph.

The quick counter accepts up to 100,000 UTF-16 code units; the utility counters allow up to 200,000. Text is processed locally. For planning, use the estimate consistently across drafts and consider diagrams, unfamiliar terminology and pauses separately rather than treating the displayed time as a promise.

KITFORMA

Put it into practice

No account needed. Open an article, then try the matching tool.

Further reading

Published:

Found something that needs a correction? Tell us.