TextToolboxTextToolbox
HomeUnicode & Fancy TextUnderline Text Generator

Underline Text Generator

Compare five Unicode below-marks, bracket and underscore wrappers, and a separate overline row with selectable outputs.

Built by Saurabh Kumar

Quick Answer

Standard and Double Underline add low-line marks after complete non-whitespace graphemes. Three other diacritics, two wrappers and an overline-row layout offer different operations. Inspect the actual output and test the receiving field.

24/25,000 UTF-16 units; 24/5,000 grapheme clusters.

If Copy fails, select an output box and copy manually. Keep the plain original for readable context.

Standard Underline

U+0332 combining low line.

46 UTF-16 units; 1 physical lines. Visual wrapping is separate.

Double Underline

U+0333 combining double low line.

46 UTF-16 units; 1 physical lines. Visual wrapping is separate.

Diaeresis Below

U+0324 combining diaeresis below, not a CSS dotted line.

46 UTF-16 units; 1 physical lines. Visual wrapping is separate.

Minus Sign Below

U+0320 combining minus sign below, not a CSS dashed line.

46 UTF-16 units; 1 physical lines. Visual wrapping is separate.

Tilde Below

U+0330 combining tilde below, not a continuous wave.

46 UTF-16 units; 1 physical lines. Visual wrapping is separate.

Bracket Wrapper

Literal square brackets; letters are unchanged.

28 UTF-16 units; 1 physical lines. Visual wrapping is separate.

Underscore Wrapper

Literal underscores; the receiver may interpret markup.

26 UTF-16 units; 1 physical lines. Visual wrapping is separate.

Overline Row

A separate U+203E row under each nonempty physical line; not measured display width.

49 UTF-16 units; 2 physical lines. Visual wrapping is separate.

What Is an Underline Text Generator?

For a short plain-text underline trial, compare Standard and Double Underline first. The other rows do different jobs: three below-marks, two literal wrappers and a separate row of overline characters. If your document editor offers underline formatting, use that for a normal heading instead of changing the text.

How to Use the Underline Text Generator

  1. Keep the ordinary source, then enter a heading or choose the multiline Sample.
  2. Compare Standard and Double for low lines. Read the other row labels before choosing them.
  3. Choose the named Copy button. If it fails, select the output and copy manually.
  4. Check the pasted and saved text in its receiving field; restore the source if it is clipped or unclear.

How the Underline Text Generator Works

Standard adds U+0332; Double adds U+0333. Diaeresis Below uses U+0324, Minus Sign Below U+0320 and Tilde Below U+0330. Those three diacritics are not CSS dotted, dashed or wavy lines. Each mark is appended after a complete non-whitespace grapheme cluster. Spaces, tabs and physical line endings stay plain; accents and joined sequences stay contiguous before the added mark. Existing marks remain and can stack.

Bracket Wrapper surrounds the full source. Underscore Wrapper adds one literal underscore at each end, which a receiver may interpret as markup. Standard Underline also appears in the Font Generator; this comparison includes different below-marks and a row-layout experiment.

See the Unicode 17 names list and text segmentation guidance, checked October 15, 2026. Browser segmentation and receiving fonts still determine the actual result.

Underline Text Generator Example

Exact outputs for A 1; the space is not decorated
OperationOutput
Standard UnderlineA̲ 1̲
Double UnderlineA̳ 1̳
Diaeresis BelowA̤ 1̤
Minus Sign BelowA̠ 1̠
Tilde BelowA̰ 1̰
Bracket Wrapper[ A 1 ]
Underscore Wrapper_A 1_
Overline RowA 1 ‾‾‾

Overline Row adds a separate U+203E row beneath each nonempty physical line: one overline per source grapheme, including spaces and tabs. Existing CRLF, CR or LF is reused around the inserted row; an unterminated final line uses LF. Empty lines stay empty. For A\nB, output is A\n‾\nB\n‾; here \n denotes LF, not two copied characters.

When to Use the Underline Text Generator

Choose a mark, wrapper or layout
TaskStarting pointWhat to inspect
Short low-line comparisonStandard or Double UnderlinePlacement and clipping in the actual field.
Compare a below-markDiaeresis, Minus Sign or Tilde BelowSeparate diacritics, not continuous CSS lines.
Literal delimitersBracket or Underscore WrapperInner letters stay unchanged; underscores may trigger markup.
Two-line layout experimentOverline RowCluster counts do not measure visual width.
Document or Discord messageNative formattingUse the editor’s controls or documented message notation.

Discord messages document __text__ for underline, which differs from this tool’s one-underscore wrapper. For other literal delimiters, use the Brackets Generator.

Common Mistakes

An overline row is not a measured underline. A tab, wide glyph or wrapped line can make it misalign. Start with two short lines, and keep a readable heading even if the layout fails. Font placement, speech, search and field restrictions vary; Copy success does not establish acceptance.

Input over 25,000 UTF-16 units or 5,000 grapheme clusters, unsupported controls and incomplete Unicode produce editable errors without shortened or stale outputs. Sample or Clear helps you recover. Local counts are not platform budgets. Textareas and clipboard handling may normalize line endings.

Tips for Better Results

Try café 1 with Standard and Double, preserving the accent. Keep the original before repeating an effect, since another conversion adds more marks. Use native heading formatting for important published instructions; for a stroke through text, compare the Strikethrough Text Generator.

Share this tool