Underline Text Generator
Add underline to text using Unicode combining characters. Works anywhere - Instagram, Discord, Twitter, WhatsApp.
Three steps to get started
Type or paste text
Enter the text you want to underline.
Underline added
Unicode combining characters draw a line under each letter: U̲n̲d̲e̲r̲l̲i̲n̲e̲.
Copy and share
Click Copy and paste into Instagram, Twitter, Discord, or any platform.
U̲n̲d̲e̲r̲l̲i̲n̲e̲ anywhere - no HTML required
A Unicode underline is produced by inserting Combining Low Line (U+0332) after each character of a string. Unlike an HTML <u> element or a CSS text-decoration rule, which are instructions to a renderer, U+0332 is a character in its own right - it lives inside the string, travels through the clipboard, and survives being stored in a database column or a JSON field.
The mechanism comes from Unicode's Combining Diacritical Marksblock (U+0300–U+036F), designed so that any script can build accented letters from a base plus a mark. U+0332 has combining class 220, meaning it renders below the preceding base character, and because it has zero advance width the line it draws stretches to meet its neighbours, producing an apparently continuous rule. Its relatives are worth knowing: U+0333 gives a double low line, U+0331 a shorter macron below, and U+0336 a long stroke through the character rather than under it.
Practical notes before you use it:
- Character cost doubles. Each U+0332 is its own code point, so an 8-letter word consumes 16 characters of a 150-character Instagram bio or a 280-character X post.
- Screen readers. VoiceOver and NVDA generally skip combining marks, so underlined text still reads aloud correctly - a genuine advantage over the styled-alphabet generators, whose letters are announced as "mathematical bold small a" or skipped entirely.
- Search and matching. Underlined text will not match a plain-text search for the same word unless the system applies Unicode NFD/NFC normalisation, so avoid it in usernames or anything you expect people to find.
- Descenders. Letters with tails - g, j, p, q, y - collide with the line in many fonts, and the result can look smudged rather than underlined.
Typical uses are section labels in an Instagram bio, emphasis in a Discord message where the native __underline__ markdown is not available (in a channel name, for instance), and headings in X posts, which support no markup at all. Avoid it in body copy: because underlining still signals "link" to most readers, a long underlined passage reads as broken navigation rather than emphasis.
The combining marks are inserted by JavaScript in this tab; nothing you type is transmitted or logged.