Text Slice Tool
Select an exact text range by user-perceived grapheme-cluster index.
Loading Text Slice Tool...
How to use
Indices start at zero. The start index is inclusive. Choose whether the end index is exclusive (like common programming slices) or inclusive.
Example
Input
A👍🏽B
Output
👍🏽
Limitations
Grapheme boundaries come from Intl.Segmenter and can vary only where Unicode segmentation standards evolve. Indices are not bytes, UTF-16 code units, or display-column widths.
Frequently Asked Questions
Does an emoji with a skin-tone modifier count once?
Yes. Extended emoji and combining sequences are sliced as grapheme clusters rather than split UTF-16 units.
What does an exclusive end mean?
The character at the end index is not included; a range from 1 to 2 selects exactly grapheme 1.