Free Tool

Underline Text Generator

Type any text below and get it underlined with U+0332 (combining low line), the Unicode mark that draws a line under every character — for emphasis in Discord, GitHub, and plain-text fields, without needing a font file installed.

Generate Underline Text
Type your text and copy the underlined version. The output is real Unicode — it pastes into any field that accepts text.
Combining Low Line output appears here
Combining Low LineU+0332

Underline is built from U+0332, a combining diacritical mark in the Combining Diacritical Marks block. The tool appends U+0332 after every character, so the system font draws a line under each glyph. Because it is a combining mark rather than a replacement, it works on letters, digits, punctuation, and emoji alike.

Other styles (live preview)

BoldU+1D400
Type above to preview
ItalicU+1D434
Type above to preview
Bold ItalicU+1D468
Type above to preview
Cursive / ScriptU+1D49C
Type above to preview
Bold ScriptU+1D4D0
Type above to preview
Gothic / FrakturU+1D504
Type above to preview

What underline text actually is

Underline text generated here is not a font. It is your original text with an extra Unicode character — U+0332, combining low line — inserted after every visible character. U+0332 lives in the Combining Diacritical Marks block and instructs the system font to draw a horizontal line beneath the preceding glyph. So the word cat becomes c̲a̲t̲, which to the app is six code points (c, U+0332, a, U+0332, t, U+0332) rather than three. This is different from bold or script Unicode, which swap each letter for a different code point. The combining-mark approach has one big advantage — it works on every character, including digits, punctuation, and letters outside the Latin alphabet — and one cost: it doubles the length of the text, since every visible character is followed by an invisible combining mark.

What Unicode underline is useful for

1

Emphasis in plain-text contexts

Discord chat, GitHub README, plain email, and form fields have no underline button. Pasting underlined Unicode (t̲h̲i̲s̲) works because each combining mark is just text — the line is drawn by the system font over the preceding character.

2

Works on every character

Unlike Mathematical Bold or Script, which only cover the Latin alphabet, U+0332 combines with anything — Cyrillic, Greek, digits, punctuation, even emoji. If the base character renders, the underline renders under it.

3

Stacks with other styles

You can combine underline with bold or italic Unicode, because U+0332 attaches to whatever character precedes it. The result is heavier and uses more code units, but it works in fields that accept it.

4

Reliable in code-adjacent spaces

GitHub, GitLab, Notion, and Discord render combining marks consistently. Underlined text in a PR description or pinned message reads clearly on desktop and mobile.

Why underlined text costs double

Every visible character in underlined output is two UTF-16 code units: the original character plus U+0332. Both sit in the BMP, so each is 1 unit — but a 20-character underlined word is 40 units, not 20. On platforms that count UTF-16 units (TikTok bios at 80 units, Twitter free tweets at 280), this halves how much text fits. On platforms that count grapheme clusters (Instagram bio at 150), the visible length is closer to the typed length, but the underlying byte count still doubles. Combining marks also affect editing: backspacing through underlined text removes the mark first, then the letter, so every character takes two keystrokes to delete. One rendering quirk: if a platform does not support combining marks at all, the U+0332 characters show as detached low lines or boxes instead of attaching to the previous glyph. Discord, GitHub, and Notion handle them correctly; some older Android text fields do not.

Practical notes before you paste

Tip 1

Each underlined character is 2 UTF-16 units (the letter + U+0332). A 40-char underlined string uses 80 units — TikTok's full bio budget.

Tip 2

Instagram counts grapheme clusters, so underlined text looks close to its visible length in the bio counter, even though the underlying byte count doubles.

Tip 3

Backspacing through underlined text takes two keystrokes per character — the combining mark deletes first, then the letter.

Tip 4

U+0332 works on any base character: Latin, Cyrillic, Greek, digits, punctuation. Coverage is the main advantage over replacement styles.

Tip 5

Discord chat, GitHub README, and Notion render combining underlines reliably. Some older Android text fields show them as detached lines.

Tip 6

You can stack underline with bold or italic Unicode, but each stack adds more code units and the result gets visually heavy.

Tip 7

Don't use underlined Unicode inside hashtags or @mentions — the combining marks break linking.

Tip 8

Plain ASCII ranks better in search. Use underline Unicode for display, not for SEO-critical text.

Platform compatibility

Underline Unicode renders on iOS 13+, Android 8+, modern Windows, macOS, and every major browser, with one caveat: the combining mark has to attach to the preceding glyph, and a few older Android text fields render U+0332 as a detached low line or a box instead. Discord is the most reliable — underlined text renders correctly in chat, channel names, and custom status on both desktop and mobile. GitHub renders it in README, issue, and PR bodies. Notion renders it in body text. TikTok accepts it in display names (30 chars) and bios (80 UTF-16 units), where the doubled unit cost bites — a 40-character underlined bio uses the full 80 units. Instagram accepts it in the name field and bio, though some Android devices collapse the marks. Twitter/X renders it correctly in the timeline. Steam persona names render underline inconsistently.

Common questions about underline Unicode text