Skip to content

Choose your path

Built around the job you need to finish

Shorten text at complete grapheme boundaries under a marker-inclusive grapheme, UTF-16 or UTF-8 budget while retaining the chosen ends.

Multilingual interface designer

Keep emoji families and accented characters intact in short labels.

Paste mixed Unicode text, set a grapheme budget and inspect retained characters.

No partial surrogate or combining sequence is emitted.

Developer enforcing a byte limit

Fit a preview within an explicit UTF-8 budget.

Choose UTF-8 bytes, use a short marker, inspect original/output sizes and test a too-large marker.

Output stays within budget or returns a clear refusal.

Mobile content editor

Compare beginning, ending and middle excerpts without losing source.

Choose marker positions, clear and undo source, restore the prior successful run and export.

Source remains available and the marker is included in the stated limit.

Was this tool helpful?

Reference & details

How it works

Complete-character boundaries

Intl.Segmenter supplies the current runtime’s grapheme boundaries. UTF-16 and UTF-8 budgets still cut only between whole graphemes; unsupported segmentation fails explicitly.

Marker-inclusive budget

The budget ranges from 0 to 100,000 selected units and includes the marker. End keeps a prefix; Start keeps a suffix; Middle gives the prefix the rounded-up half of remaining capacity, then fills available space.

Exact limits, contextual meaning

No normalization or whitespace trimming is applied. Runtime Unicode versions may differ, and character counts do not guarantee pixel width, readability or a platform-specific limit.

Updated: August 2026

Example Scenarios

Keep emoji families and accented characters intact in short labels. Paste mixed Unicode text, set a grapheme budget and inspect retained characters.

Fit a preview within an explicit UTF-8 budget. Choose UTF-8 bytes, use a short marker, inspect original/output sizes and test a too-large marker.

Compare beginning, ending and middle excerpts without losing source. Choose marker positions, clear and undo source, restore the prior successful run and export.

Common Mistakes to Avoid

Adding dots after a full-length slice

The marker consumes part of the budget; it is not appended beyond the stated maximum.

Treating characters as pixels

A grapheme is not a fixed visual width or a word. Check the final layout and meaning before publishing.

FAQ

Yes. It is only added when truncation is needed. If it cannot fit, shorten or clear the marker instead of silently exceeding the limit.

A whole grapheme may require several UTF-16 units or UTF-8 bytes. The tool leaves spare capacity instead of splitting that grapheme.

Choose Start to put the marker before retained suffix text, End for a retained prefix, or Middle for both ends when space allows.

Yes. Empty input is valid. To truncate non-empty text to a zero budget, clear the marker. A valid empty result can be downloaded as a zero-byte file.

No. Select the metric required by your destination and verify it there. Browser Unicode segmentation versions and platform rules may differ; byte counts are UTF-8 without a newly added BOM.

About Text Truncator

Create a bounded excerpt without splitting an emoji or combining sequence. Select how to count, where to place the marker and which part of the original to retain.