Skip to content

Add to your Home Screen

  1. Tap the Share button in Safari's toolbar.
  2. Scroll down and tap Add to Home Screen.
  3. Tap Add. The generator opens full-screen and works offline.

What Are Combining Characters in Unicode?

By Maya Chen, lettering designer and type educator · Checked by Jordan Hale · · How we review content

Most Unicode characters take up space on their own: a letter sits on the baseline, a space moves the cursor, a digit stands alone. A combining character is different. It has no width and no position of its own, and instead attaches itself to the character in front of it. Type a, then the combining grave accent U+0300, and the app draws à. The accent is not a separate glyph in a row; it is stacked on the letter.

The main block: U+0300 to U+036F

The Combining Diacritical Marks block holds 112 characters, from U+0300 to U+036F. They include everyday accents and unusual extras:

Code point Name Looks like (on a)
U+0300 Combining grave accent à
U+0301 Combining acute accent á
U+0304 Combining macron ā
U+0323 Combining dot below ạ
U+0305 Combining overline a̅
U+0332 Combining low line a̲
U+0336 Combining long stroke overlay a̶
U+0338 Combining long solidus overlay a̸

Beyond that block there are others, such as Combining Diacritical Marks Extended and Supplement, marks for symbols (including the enclosing keycap, U+20E3), and many marks inside individual scripts such as Hebrew vowel points and Devanagari signs.

Text effects from combining marks

Several of the styles in the generators on this site are made by putting one combining mark after every letter:

  • Strikethrough text uses U+0336 for a line through each letter.
  • Underline and double underline use U+0332 and U+0333, and overline uses U+0305.
  • Slashed text uses U+0338, and wavy strike uses U+0334, the combining tilde overlay.
  • Cross-above text uses U+033D, and the arrow-below style uses U+0362.

The glitch text generator goes further: it piles up many different marks above and below each letter, which is what people call zalgo text. Because there is no limit in the standard on how many marks a character can have, the pile can be as tall as the generator makes it.

These effects are plain text, so they copy and paste into a username, bio or caption without any formatting support. The price is that the app and its font decide how it looks.

Rendering and its problems

An app draws combining marks using the font’s own rules, positioning each above or below its base letter according to the mark’s combining class. The results vary:

  • Overlay marks can drift. A strikethrough that lines up perfectly in one font may sit too high or low in another, or look broken between letters.
  • Stacks can overflow. Marks above a letter move up with each additional mark. Without clipping, a tall stack overlaps the line above.
  • Missing glyphs show boxes. If the font has no glyph for a rare mark, you will see a box or dotted circle.
  • Monospace can break. A monospace font keeps each cell fixed, but a mark that is wider than the cell makes the layout look off.

Combining marks and normalization

Unicode often provides a precomposed character as well. é can be one code point (U+00E9) or e followed by U+0301. The two look identical, but they are different strings, so a search can miss one or the other. Normalisation converts between them: NFC composes where it can, NFD splits everything into base letter plus marks. Many combinations have no precomposed form at all, such as q with a diaeresis, and those can only be written with a combining mark. See diacritic for the linguistic side.

In lettering

Hand letterers use the same logic: an accent belongs to its letter, so draw it as part of the shape, not an afterthought, to keep spacing even. A struck-out word in a design should have its line near the middle of the x-height, as fonts place it.

Accessibility and counting

Screen readers handle combining marks inconsistently. Some skip them, and some speak each one. A word with a stroke on every letter may be read as the plain word, as a string of mark names, or not at all. That is why we advise not using combining-mark styles for anything important. The how fancy text works guide covers this, and the unstyle text tool strips the marks from copied text so you can restore a clean version.

Combining marks also affect length. Counting code points, a letter and its mark are two characters, while a user sees one. Platforms count differently: some count by code point, some by grapheme cluster, and some by a weighted scheme. If a post fails because of length, a heavy use of marks is a likely cause.

Common confusions

  • A combining character is not a letter. It has no meaning alone, and without a base it shows on a dotted circle.
  • Combining is not the same as ligature. A ligature merges two letters into one shape; a combining mark adds to a letter.
  • Zalgo is not a font. It is ordinary letters plus many marks.

Frequently asked questions

What is the Unicode range for combining characters?
The main block is Combining Diacritical Marks, U+0300 to U+036F, which has 112 characters. Others include Combining Diacritical Marks Extended, Supplement and for Symbols, plus Cyrillic and Hebrew marks. In total Unicode has hundreds of combining characters across many scripts, each with a combining class that controls how it stacks.
How does strikethrough text work in Unicode?
Strikethrough text puts U+0336, the combining long stroke overlay, after each letter. The mark has no width and the font draws a line through the letter it follows. It is not formatting, so it copies as plain text, but it may render uneven, and screen readers can read the line as nothing or as a name for the mark.
Why does zalgo text overflow its line?
Zalgo or glitch text adds many combining marks above and below each letter. Each mark stacks on the last, so the pile grows taller than the line, and apps that do not clip it let it spill over text above and below. Platforms that limit stacking or clip the box cut it short.
Do combining characters count in character limits?
Usually yes. A limit that counts code points counts each mark as one character, so a letter with five marks uses six. Platforms may count differently, for example by grapheme or by weighted units. A word with a combining strikethrough on every letter uses roughly twice as many characters as the plain word.