Markdown Bold and Italic: How to Format Text

How to make text bold, italic, or both in markdown. Covers asterisks vs underscores, nesting rules, and platform-specific behavior.

· · 6 min read

Last updated: March 2, 2026

markdown formatting reference

Bold and italic are the two most common text formatting options in markdown. Bold uses double asterisks or double underscores. Italic uses single asterisks or single underscores. You can combine them for bold italic with triple asterisks.

This guide covers the syntax, when to use asterisks vs underscores, and how each platform handles edge cases.

Basic Syntax

*italic text*
_italic text_
**bold text**
__bold text__
***bold and italic***
___bold and italic___

Both asterisks and underscores produce the same output. Most style guides recommend asterisks because underscores have edge-case issues mid-word.

Asterisks vs Underscores

The two styles look identical in the output, but they behave differently inside words.

Asterisks work mid-word:

This is un*frigging*believable
This is un**frigging**believable

Both render correctly with emphasis on “frigging”.

Underscores do not work mid-word in GFM:

This is un_frigging_believable

GitHub Flavored Markdown treats this as literal underscores, not italic. This is intentional: variable names like my_variable_name should not trigger formatting.

CommonMark follows the same rule. The underscore must be preceded and followed by whitespace or punctuation to trigger emphasis.

Recommendation: Use asterisks for all emphasis. You never have to think about context, and it works everywhere.

Combining Bold and Italic

Triple markers give you both:

***bold and italic***

You can also nest them explicitly:

**_bold and italic_**
*__bold and italic__*

For partial emphasis within a bold phrase:

**This is bold with an *italic* word inside**

This renders as: This is bold with an italic word inside.

Strikethrough

Strikethrough is not part of standard markdown but is supported by GFM and most modern processors:

~~deleted text~~

Strikethrough requires double tildes. Single tildes do not trigger it. For a deeper look, see the markdown strikethrough guide.

Bold and Italic in Other Elements

Inside headings:

## A **bold** heading

Inside links:

[**Bold link text**](https://example.com)
[*Italic link text*](https://example.com)

Inside list items:

- This item has **bold** and *italic* words
- Another item with ***both***

Inside table cells:

| Feature | Status |
|---------|--------|
| Auth | **Done** |
| API | *In progress* |

Inside blockquotes:

> This quote has **bold** emphasis on a key point.

When to Use Bold vs Italic

Bold and italic have different semantic meanings in most writing conventions:

UseForExample
BoldKey terms, warnings, strong emphasisRequired: Fill in all fields
ItalicTitles, technical terms on first use, light emphasisThe README file should be in the root
BothRarely; reserved for extreme emphasisDo not delete this file

In HTML, *italic* maps to <em> (emphasis) and **bold** maps to <strong> (strong importance). Screen readers may adjust their tone for <em> and <strong> tags, so the semantic difference matters for accessibility.

Overusing bold reduces its impact. If everything is bold, nothing stands out. Use it for the few things that genuinely need attention.

Platform Differences

FeatureGitHubVS CodeObsidianMDtoLinkCommonMark
*italic*YesYesYesYesYes
_italic_YesYesYesYesYes
**bold**YesYesYesYesYes
__bold__YesYesYesYesYes
***bold italic***YesYesYesYesYes
Mid-word *asterisks*YesYesYesYesYes
Mid-word _underscores_NoNoPartialNoNo
~~strikethrough~~YesYesYesYesGFM extension
==highlight==NoNoYesNoNo

Obsidian supports ==highlight== for highlighted text, which is unique to that platform. It renders with a yellow background in Obsidian but is not recognized by GitHub or standard markdown processors.

Common Mistakes

Spaces inside the markers. Adding a space between the marker and the text breaks the formatting:

<!-- Wrong -->
** bold text **
* italic text *
<!-- Correct -->
**bold text**
*italic text*

Mixing styles in one phrase. Starting with asterisks and ending with underscores does not work:

<!-- Wrong -->
**bold text__
<!-- Correct -->
**bold text**

Forgetting to close. An unclosed marker can break formatting for the rest of the document:

<!-- Missing closing ** -->
This is **bold text and everything after is also bold...
<!-- Fixed -->
This is **bold text** and everything after is normal.

Copy-Paste Templates

*italic*
**bold**
***bold italic***
~~strikethrough~~
**Key term:** Definition goes here.
*First mention* of a technical concept.

FAQ

How do I make text bold in markdown?

Wrap the text in double asterisks: **bold text**. Double underscores (__bold__) also work but asterisks are the safer choice because they work mid-word on all platforms.

How do I make text italic in markdown?

Wrap the text in single asterisks: *italic text*. Single underscores (_italic_) also work but have mid-word limitations on GitHub and most GFM-compliant parsers.

Can I combine bold and italic in markdown?

Yes. Use triple asterisks: ***bold and italic***. You can also nest them: **_bold and italic_** or *__bold and italic__*. All three produce the same result.

What is the difference between asterisks and underscores?

Both produce the same visual output. The difference is mid-word behavior: un*frigging*believable works with asterisks, but un_frigging_believable does not trigger emphasis in GFM or CommonMark. Use asterisks.

Try It Out

Test bold and italic formatting in the MDtoLink editor with live preview. When your document looks right, publish it to a shareable URL with one click.

For the full syntax reference, see the markdown cheat sheet. To learn about links, check the markdown links guide.


David Schemm
David Schemm

Founder, MDtoLink

David builds developer tools and writes about markdown workflows, documentation, and AI-assisted publishing.

Publish your markdown to a shareable URL

One command. Free to start. No credit card.