To truncate text to a limit, paste it into the FindUtils Text Truncate tool, choose whether the limit counts characters or words, set the number and the ending, and copy the result. In Characters mode the ending counts toward the limit, so a limit of 160 always gives 160 characters or fewer, and Break on word stops the cut at the last space so no word is split. The text is shortened in your browser, with no sign-up.

This guide walks through each setting with real results, explains how characters are counted, and lists the cases where you should check the result where you post it.

How to Truncate Text, Step by Step

  1. Open Text Truncate. It starts in Characters mode with a limit of 160 (the Meta description preset), the ending ... and Break on word turned on.
  2. Choose what to count. Under Truncate by, pick Characters or Words. The line beside it says how the limit is counted.
  3. Set the limit. Type a number, or press a preset: Meta description (160), X post (280) or SMS (160).
  4. Set the ending. Keep ..., type the single character …, type your own (such as [more]), or clear the box for no ending.
  5. Turn Break on word on or off. On, the cut moves back to the last space. Off, the text is cut exactly at the limit.
  6. Paste your text. The truncated text updates as you type. Under each box you see its character and word count, and a badge says how much was cut, or "Fits, nothing cut".
  7. Copy the result with Copy.

What Each Setting Does, With Real Results

All examples use the sentence "The quick brown fox jumps over the lazy dog" (43 characters) and a limit of 20 characters unless noted.

SettingsResultLength
Ending ..., Break on word onThe quick brown...18
Ending ..., Break on word offThe quick brown f...20
Words mode, limit 4, ending ...The quick brown fox...22
Limit 160The whole sentence, no ending43

The ending counts toward the limit. With a limit of 20 and the ending ..., at most 17 characters of your text are kept, and the whole result is never longer than 20. That is the behaviour you want for a field with a hard maximum: a meta description, a database column, a push notification.

Break on word moves the cut back to the last space before the cut point, so the result ends on a whole word. That is why the first row is 18 characters, not 20: "The quick brown f" ends inside "fox", so the cut moves back to "brown". If there is no space before the cut point, as in one very long word, the cut stays at the limit.

Words mode counts words, not characters. A word is any run of characters between spaces or line breaks, so "well-known" is one word and "2026" is one word. The ending is added after the last kept word and does not count toward the limit, and Break on word does not apply. Line breaks between the kept words are kept, which makes it the right mode for a list or a multi-line text.

Nothing is cut when the text fits. If the text is already within the limit, the result is the original, with no ending added.

How Characters Are Counted

Text Truncate counts characters the way a browser does: in UTF-16 code units, the same count as JavaScript's length, the HTML maxlength attribute and the FindUtils Character Counter. Letters, digits, spaces, punctuation and line breaks count as 1 each. Most emoji count as 2, an emoji with a skin tone as 4, and a family emoji made of several people as 8.

The tool never splits a character in half. When the cut would land inside an emoji, a flag or a letter with a combining accent, it moves back to the start of that character:

TextLimit, settingsResult
Great job 👍🏽 team12, no ending, Break on word offGreat job (10)
Trip 🇹🇷🇩🇪 planned11, no ending, Break on word offTrip 🇹🇷 (9)

In the first row, 👍🏽 occupies characters 11 to 14, so a cut at 12 would split it; the tool keeps the text before it instead. The result can therefore be a character or two shorter than the limit. A plain text.slice(0, 12) in JavaScript would keep 👍 without its skin tone, and text.slice(0, 11) would leave half an emoji, which shows up as a replacement character. Why emoji take 2 or more is explained in Why an emoji counts as 2 characters.

Which Ending to Use

EndingCharactersUse it when
... (three dots)3You want plain ASCII that works everywhere
… (one ellipsis character, U+2026)1Every character counts, such as in a tight preview
None0The text is a label, an ID or a field that should simply stop
Your own, such as [more]Its lengthThe truncated text links to the full version

What the Presets Mean

The presets set plain numbers. They are starting points, not the rules of those platforms:

  • Meta description (160): a common target, not a Google limit. Google says there is no limit on how long a meta description can be, and it shortens the snippet in results as needed, typically to fit the device width. To see how a title and description look in a result, use the SERP Preview, and to write the tags, the Meta Tag Generator.
  • X post (280): X's limit, but X counts links as 23 characters each, emoji as 2, and Chinese, Japanese and Korean characters as 2. A post with links or emoji can fit when the plain count says it does not, and the reverse.
  • SMS (160): one text message holds 160 characters of the basic GSM alphabet. A single emoji or curly quote switches the whole message to an encoding that holds 70 per message.

Tips

  • Clean the text first. Double spaces and stray line breaks use up characters. Run long text through the Whitespace Cleaner before you cut it.
  • Break on word looks for a space, not a line break. For multi-line text, use Words mode, or put the lines together first.
  • Use … when space is tight. It saves two characters compared with ....
  • Use it to get the expected output for a test. If you write a truncate function, Text Truncate shows the exact result for emoji, flags and accented letters, which are the cases hand-written functions get wrong.
  • Check counts for long documents in the Word Counter, which adds reading time.

FAQ

How do I cut text to 160 characters?

Open Text Truncate, press the Meta description preset (or type 160), and paste the text. With the default ending ..., at most 157 characters of your text are kept and the result is 160 characters or fewer.

Does the ending count toward the limit?

In Characters mode, yes, so the result never goes over the limit. In Words mode the limit counts words only, and the ending is added after the last kept word.

Why is my result shorter than the limit?

Two settings can shorten it. Break on word moves the cut back to the last space, and the tool also moves a cut back if it would split an emoji, a flag or an accented letter. Turn Break on word off for a cut exactly at the limit.

How do I truncate by words instead of characters?

Set Truncate by to Words and enter the number of words to keep. Line breaks between the kept words are kept.

Do emoji count as one character?

No. The tool counts like a browser, so most emoji count as 2 and an emoji with a skin tone as 4. They are never cut in half.

Is my text uploaded?

No. On this page, the text is shortened in your browser and is not sent anywhere.

Sources