What the Underline Text Generator does
Most places you write online have no underline button. An Instagram bio, a Discord nickname, a marketplace listing, a spreadsheet cell — they take plain characters and nothing else. The Underline Text Generator gets around that by underlining with characters instead of with formatting. Type a word, get four versions back, and every one of them is ordinary text you can paste anywhere text is allowed.
Type sale and this is what comes back:
| Style | Output | Characters |
|---|---|---|
| Underline | s̲a̲l̲e̲ | 8 |
| Double underline | s̳a̳l̳e̳ | 8 |
| Overline | s̅a̅l̅e̅ | 8 |
| Underline + overline | s̲̅a̲̅l̲̅e̲̅ | 12 |
Four characters went in. Eight came out, and twelve on the bottom row. That is not a counting error — it is how the whole trick works, and it is the one detail that catches people out later. More on it below.
There is no Generate button and no dropdown. All four rows update as you type, each row carries its own character count, and each row has its own Copy button that copies that row and nothing else. The box accepts up to 400,000 characters, though the preview slows down past 100,000 — at which point you are pasting a novel into a bio field and something went wrong further upstream.
How Unicode underlining actually works
Unicode — the character standard every phone, laptop and website agrees on — includes a class of characters called combining marks. A combining mark has no width of its own. It draws on the character immediately before it. U+0332 COMBINING LOW LINE puts a short rule underneath whatever precedes it.
The Underline Text Generator appends one of those marks after every letter, digit, punctuation mark and interior space in your text. The rule each mark draws spans the full width of its letter, so consecutive marks touch and what you see is one continuous line instead of a row of dashes. The line is not a style sitting on top of the text. The line is text.
That is why it survives a paste into an app that has never heard of underlining. The app stores the characters you handed it, the same way it stores an emoji, and the marks ride along with the letters.
Three marks do this job properly, which is why you get four rows instead of forty:
| Row | Code point | Unicode name | "under" in that style |
|---|---|---|---|
| Underline | U+0332 | COMBINING LOW LINE | u̲n̲d̲e̲r̲ |
| Double underline | U+0333 | COMBINING DOUBLE LOW LINE | u̳n̳d̳e̳r̳ |
| Overline | U+0305 | COMBINING OVERLINE | u̅n̅d̅e̅r̅ |
| Underline + overline | U+0332 and U+0305 | both marks, in that order | u̲̅n̲̅d̲̅e̲̅r̲̅ |
Rows three and four are the reason people also land here looking for an overline text generator or a double underline tool: it is the same box and the same paste, with a different mark doing the drawing. Interior spaces get a mark on purpose. Skip the space and the rule breaks in the gap between words, which reads as two short underlines rather than one. Mark it and F̲i̲n̲a̲l̲ ̲s̲a̲l̲e̲ comes out as a single rule across the whole phrase. The leading and trailing whitespace of the string is left bare, so no line dangles past the last letter, and newlines and tabs never take a mark — paste three lines in and you get three separately underlined lines, not one rule smeared across the breaks.
There is a fourth mark that looks like a candidate and isn't: U+0331 COMBINING MACRON BELOW. It draws a short dash that stops before the edge of the letter, so a word marked with it reads as a row of dashes rather than a line. It also has a day job — it is a standard diacritic in Semitic transliteration, and it composes into real letters like Ḏ and ẕ. Hijacking it would quietly corrupt legitimate text, so it is left alone. Four rows is every mark that does the job, not a sample of a longer list.
Where underlined text works, and where it doesn't
Because the output is plain characters, it works in almost any field that accepts characters:
| Destination | Works? | Note |
|---|---|---|
| Instagram bio, captions, comments | Yes | The most common reason people search for this |
| X posts and display names | Yes | Display name, not the @handle |
| TikTok bio | Yes | Short field — watch the count |
| Discord nicknames and messages | Yes | Nickname caps at 32 characters |
| Marketplace and auction listings | Yes | Useful for a price or a status word |
| Spreadsheet cells | Yes | Survives export to CSV |
| Usernames and @handles | No | Letters and digits only, by rule |
| Email addresses, most sign-up forms | No | Validated against a plain character set |
If a field rejects the paste, that is the field's rule rather than a broken copy. Nothing is wrong with the text.
The one place you should not use this is anywhere that already has a real underline. A word processor, a docs app, a rich-text email composer — they all take Ctrl+U, or Cmd+U on a Mac, and the real underline beats this one on every measure. The letters underneath stay plain, so search finds them. A screen reader reads them normally. The app draws the line itself, at whatever length looks right. Use the real thing wherever the real thing exists. The Unicode version is for the fields that have no formatting at all.
The shape of the problem around this is familiar enough to name. Underlining a word is a few lines of code, and there is a small economy built on charging rent for it: keyboard apps that want an install and an auto-renewing weekly subscription, "1,000 fancy fonts" portals that bury the underline row at position 40 with an ad stacked above each one, and sites that show you the result and then ask for an email before they will let you copy it. None of that is about the underline. It is about getting you into a contract. This page is the underline — four rows, four Copy buttons, no install, no account.
The character-count trap
Every mark is a separate character sitting behind the letter it decorates. Your text does not get restyled; it gets longer. On the three single-mark rows it roughly doubles, and on Underline + overline it roughly triples, because that row carries two marks per letter.
Take a bio line — Now booking spring 2027, 23 characters as typed:
| Row | Output | Characters |
|---|---|---|
| As typed | Now booking spring 2027 | 23 |
| Underline | N̲o̲w̲ ̲b̲o̲o̲k̲i̲n̲g̲ ̲s̲p̲r̲i̲n̲g̲ ̲2̲0̲2̲7̲ | 46 |
| Double underline | N̳o̳w̳ ̳b̳o̳o̳k̳i̳n̳g̳ ̳s̳p̳r̳i̳n̳g̳ ̳2̳0̳2̳7̳ | 46 |
| Overline | N̅o̅w̅ ̅b̅o̅o̅k̅i̅n̅g̅ ̅s̅p̅r̅i̅n̅g̅ ̅2̅0̅2̅7̅ | 46 |
| Underline + overline | N̲̅o̲̅w̲̅ ̲̅b̲̅o̲̅o̲̅k̲̅i̲̅n̲̅g̲̅ ̲̅s̲̅p̲̅r̲̅i̲̅n̲̅g̲̅ ̲̅2̲̅0̲̅2̲̅7̲̅ | 69 |
Now put that against the limits you are actually writing into. An Instagram bio caps at 150 characters, so underlining the whole thing leaves you about 75 characters of real writing. An X post caps at 280, so 140. A Discord nickname caps at 32, so 16 — which is one short word, or two if you are brief. On the Underline + overline row, divide by three instead.
This is why each row counts itself rather than sharing one number: three of the four rows would be wrong if they shared. The practical rule that falls out of it is to underline a name, a price or one phrase — never a whole paragraph. $̲4̲0̲ costs you 6 characters and does the job. An underlined paragraph costs you the paragraph.
When the line looks broken, and other things that go wrong
Underlined Unicode is a genuinely useful hack, and it has real costs. Knowing them in advance saves a re-edit.
Gaps between letters on some phones
The mark is drawn by the font, and fonts disagree about how wide the rule should be. Most desktop fonts span the full letter, so the marks touch and the line is continuous. Some Android system fonts and some in-app iOS fonts draw it a shade narrower, which leaves a hairline gap. Wide letters like m and w show it first. If one style looks broken where you are pasting, try the next row down — the text is identical apart from the mark. Check it in the real app before you commit, because the preview here uses your browser's font, not the app's.
Search stops finding the word
To a search box, S̲o̲l̲d̲ and Sold are two different strings. An underlined word usually will not be found by anyone typing the plain version, which means your business name, your product names and your hashtags should stay plain. Underline the one phrase you want noticed and leave the rest alone.
Screen readers read the marks
Screen readers announce the base letters, but many announce the combining mark as well, so a listener hears every letter interrupted by an extra token. An underlined name is a small tax on them. An underlined paragraph is close to unlistenable. This is the strongest argument for underlining sparingly, and it is worth taking seriously.
Emoji, accents and other scripts
Emoji are left alone deliberately — a combining mark on an emoji either renders as a stray line beside it or splits it into two boxes, so h̲i̲ ̲🔥 keeps the fire intact. Accented letters do get marked, and the mark lands after the whole letter, so café becomes c̲a̲f̲é̲ with the acute untouched. On the overline row it becomes c̅a̅f̅é̅ — the line sits above the acute rather than through it. Cyrillic, Greek and accented Latin all work, which is not a given in this category of tool. Devanagari and Arabic are a caveat rather than a promise: Devanagari puts its own vowel signs below the consonant, where a low line collides with them, and Arabic runs right to left, where platforms disagree about which side of a joined letter the rule belongs on. Those scripts are not silently skipped — you get the marks and you can see the result — but look at it in the real app before publishing.
Related text tools
The Underline Text Generator is one of a family of Unicode text tools that all work the same way and all paste into the same fields. If you want a line through the text rather than under it — a crossed-out old price above a new one — the strikethrough text generator uses overlay marks instead of combining rules. For headings and emphasis that survive the same plain-text fields, the bold text generator swaps in Unicode's mathematical alphanumeric letters, and the tiny text generator does the same with small-caps and superscript forms.
For a bio that needs to be odd rather than neat, the upside down text generator and the cursed text generator stack marks far past the point of good taste. And before you paste anything into a field with a hard limit, the character counter will tell you what you are actually about to spend — useful precisely because underlined text is never the length it looks. If your copy needs a case change first, the text case converter handles that in one step.
Frequently asked questions
How do I underline text on Instagram?
Instagram has no underline button in bios, captions or comments, so you underline the text before it gets there. Type your line into the Underline Text Generator above, tap Copy on the Underline row, then paste it into the Instagram field and save. The bio caps at 150 characters and underlined text is double length, so keep the underlined part to a phrase.
Can I underline just one word in a sentence?
Yes, and it is usually the right call. Run only that word through the tool, copy it, and paste it into the middle of your sentence where you want it. The marks belong to those letters, so the surrounding words stay plain, searchable and normal to a screen reader.
Does this work on Android and iPhone?
Yes. Both handle combining marks, and the copy-paste behaves the same. The only phone-specific issue is cosmetic: some system fonts draw the rule slightly narrow, which can leave hairline gaps between letters. Try a different row if that happens, and always check the result in the app you are pasting into rather than trusting the preview.
How do I remove an underline from text I already have?
Paste the underlined text into the box. The tool strips every low line, double low line and overline it finds before applying the style you picked, so you never get a doubled-up smear — and the character count drops straight back to the original, which tells you it worked. Your own combining marks are left alone, because an accent or a macron below is your text, not this tool's styling.
Why does the underline disappear when I paste it somewhere?
Usually the field strips characters it does not recognise, which is common in usernames, handles, email fields and sign-up forms that validate against a plain character set. Sometimes the app renders the mark but the font hides it. Neither is fixable from this end; the text you copied is correct. If the field rejects it, use plain text there and underline somewhere the field allows it.
Is my text private, and is there a catch?
The Underline Text Generator runs in your browser, in JavaScript, on the text in the box. Nothing is uploaded, stored or logged — which is also why the tool keeps working with the tab offline. There is no account, no trial and no paid tier hiding a fifth style. Microapp gives 10% of every dollar it earns to charity, off the top and audited quarterly, and this page is the full tool rather than a sample of one.