A visible character can have different counts as Unicode code points, JavaScript UTF-16 units and UTF-8 bytes. Name the unit in the input limit and measure with the same unit.
Displayed graphemes describe what people see; code points are Unicode values, UTF-16 is JavaScript units, and UTF-8 is bytes.
Reproduce it with fixtures
Count emoji.txt, combining.txt, family.txt and ascii.txt in the same units, then compare expected.csv. The family emoji is one displayed sequence containing zero-width joiners.
Name displayed graphemes, code points, UTF-16 units or bytes in the specification.
Count the fixture in that same unit.
Include combining marks, emoji sequences and zero-width joiners.
Give the recipient checklist.md with the fit decision and unit.
This guide is static browser-local material. Text and input are not sent to an external server.
Do not claim fit when the unit is unknown
If a specification says only “characters,” confirm the counting method before deciding that an input fits. Emoji and combining marks cannot be judged by appearance alone.