Markdown has no native syntax for underlining text. In CommonMark and GitHub Flavored Markdown, _text_ means italic and __text__ means bold. An underline usually requires HTML support or an application-specific extension.
On GitHub, the documented form is:
The <ins>revised deadline</ins> is Friday.GitHub lists <ins>...</ins> for underlined text in its basic formatting documentation. That is a platform-supported HTML option, not a new Markdown delimiter that works everywhere.
Underline, bold, and italic compared
| Source | Meaning | Where to expect it |
|---|---|---|
_important_ |
Emphasis, usually italic | CommonMark and GFM |
__important__ |
Strong emphasis, usually bold | CommonMark and GFM |
**important** |
Strong emphasis, usually bold | CommonMark and GFM |
<ins>added text</ins> |
Inserted text, usually underlined | HTML-enabled renderers; documented by GitHub |
<u>annotated text</u> |
HTML annotation, usually underlined | Renderers that allow this HTML element |
Choose bold or italic when the goal is emphasis. For example, **Due Friday** remains useful in a README, a note, and a Markdown export without depending on raw HTML.
What is the difference between ins and u?
The two tags can look similar but carry different meaning.
<ins> represents text inserted into a document. It fits a revision such as a newly added requirement. The browser commonly underlines it, but a stylesheet can change that appearance. See MDN's inserted text reference.
The release supports <ins>CSV and TSV imports</ins>.<u> marks an annotation that is not ordinary emphasis, such as flagging a spelling error. Modern HTML does not define it as a general-purpose “make this important” tag. See MDN's u element reference.
Please review the spelling of <u>recieve</u>.If you control a website and need a purely visual underline, apply text-decoration: underline through CSS. A hosted Markdown platform may remove style attributes or disallow custom styles, so that approach is not portable either.
Why does underline work in one editor but disappear in another?
There are three separate decisions: the Markdown parser recognizes HTML, the application chooses which tags it allows, and the destination's stylesheet decides how allowed elements look. Supporting GFM does not guarantee that a product permits all HTML tags.
The MD File Viewer editor currently removes raw HTML tags from user input. Pasting <ins>added text</ins> or <u>annotated text</u> there leaves the words without those tags, so the preview will not underline them. Use that preview for supported Markdown formatting, and verify HTML-based formatting at the destination where it will be published.
If you are moving an HTML document into Markdown, the HTML to Markdown converter helps recover the text, headings, links, and lists. Underlining and custom CSS may be lost because plain Markdown has no equivalent syntax. Check the result before replacing the original document.
GitHub README examples
For a short addition in a change note, GitHub's documented HTML option is:
This version adds <ins>an optional import step</ins>.For a deadline or a requirement, use Markdown emphasis:
**Required:** Include a header row in the CSV file.For a destination, use a link:
[Read the import instructions](https://example.com/import)Underlined text can look like a clickable link. Avoid making ordinary labels appear interactive, especially when the same paragraph contains real links. The Markdown links guide covers descriptive link text and reference links.
Common underline mistakes
Double underscores make the text bold. Changing **word** to __word__ changes the delimiter, not the meaning. Both represent strong emphasis.
Backticks display the tag as code. Writing `<ins>text</ins>` is useful in a tutorial, but it intentionally shows the markup instead of rendering it.
Keyboard shortcuts belong to the application. A rich text editor may offer an underline command and store HTML or its own document format. That does not make underline part of portable Markdown.
An underlined heading is a different concept. In this source, the hyphens make a level-two heading:
Release notes
-------------They do not underline a phrase within a paragraph. For a divider between sections, use a Markdown horizontal line with blank lines around it.
Frequently asked questions
How do I underline in Markdown on GitHub?
Use <ins>text</ins>, which GitHub documents for underlining. For emphasis that also works in renderers without HTML support, use **text** or *text* instead.
Is there a Markdown-only underline alternative?
There is no standard underline delimiter. Some applications add their own syntax, but you must check their documentation and the format used when exporting.
Will underlining survive a Markdown-to-PDF or Word conversion?
Only if the converter preserves the relevant HTML or extension and supports its styling. Do not assume an underline visible in one application's preview will survive another exporter. Inspect the resulting file, or use standard bold emphasis when portability matters.
The Markdown cheat sheet provides a compact reference for formatting that has dedicated Markdown syntax.
Try it in your browser
Open the homepage editor to view, edit, and export Markdown instantly — no install required.