MDUtil

Bold Text in Markdown

Wrap text in two asterisks to make it bold: **bold**. This guide covers both delimiters, bold inside a word, bold with italics, and the mistakes that leave asterisks showing.

Quick answer

How do you make text bold in Markdown?

Put two asterisks on each side of the text: **bold text**. Two underscores, __bold text__, give the same result, and both become a <strong> element in HTML. Asterisks are the safer choice because they also work in the middle of a word, where underscores do not.

Markdown
**This text is bold**

__This text is also bold__

Result

This text is bold

This text is also bold

Bold syntax and examples

Both delimiters produce the same HTML. They differ in one case, bold inside a word, and a few small mistakes stop bold from working at all.

Double asterisks

The most widely supported form. It works in CommonMark, GitHub, GitLab, Discord, Reddit, Obsidian, Notion and static site generators such as Hugo and Jekyll.

Markdown
Ship it **today**, not next quarter.

Result

Ship it today, not next quarter.

Double underscores

The same result for whole words, and handy when the text already contains asterisks. Discord is the exception: there __text__ underlines the text.

Markdown
__Warning:__ this action cannot be undone.

Result

Warning: this action cannot be undone.

Bold inside a word

Only asterisks work in the middle of a word. CommonMark ignores underscores there so that names like snake_case_name are left alone.

Markdown
un**bel**ievable

un__bel__ievable

Result

unbelievable

un__bel__ievable

Bold and italic together

Three asterisks make text bold and italic at once. Nesting one form inside the other reads more clearly and lets you italicize part of a bold phrase.

Markdown
***Bold and italic***

**Bold with _italic_ inside**

Result

Bold and italic

Bold with italic inside

When bold doesn't work

The asterisks must touch the text. Bold also fails when the closing ** comes right after punctuation and right before a letter; a space after it fixes that.

Markdown
** not bold **

**Note:**no space after the colon

**Note:** a space after the colon

Result

** not bold **

**Note:**no space after the colon

Note: a space after the colon

Showing asterisks without bold

Put a backslash before each asterisk to show it as a character. Text in backticks is never formatted either.

Markdown
\*\*not bold\*\*

`**not bold either**`

Result

**not bold**

**not bold either**

Bold in popular apps

Double asterisks work almost everywhere. Apps disagree about underscores and single asterisks.

AppSupportNotes
GitHub / GitLabSupported** and __ both work in READMEs, issues, pull requests and comments.
DiscordDiffers**text** is bold. __text__ underlines the text.
SlackDiffersSlack messages use single asterisks for bold: *text*.
ObsidianSupportedBoth forms, including bold inside a word with asterisks.
NotionSupportedTyping **text** turns it bold as you type.
RedditSupportedBoth forms work in the Markdown editor.

Questions and answers

What is the difference between ** and __ in Markdown?

For whole words there is none: both produce <strong>. Inside a word only asterisks work, so un**bel**ievable bolds the middle while un__bel__ievable stays as typed. In Discord, __text__ underlines instead of bolding.

How do I make text bold and italic at the same time?

Use three asterisks on each side, ***text***, or nest the two forms, **_text_**. Both give bold italic text.

Why is my bold text not working?

Look for a space between the asterisks and the text (** text ** stays as typed), a missing closing pair, or text inside a code block or backticks, where formatting is ignored. Bold also fails when the closing ** sits between punctuation and a letter, as in **Note:**text; add a space after it.

How do I bold text on GitHub?

GitHub supports **text** and __text__ in READMEs, issues, pull requests, comments and wikis. Bold inside a word needs asterisks.

How do I make text bold in Discord?

Type **text**. Use asterisks for bold in Discord, because __text__ underlines the text there.

Does bold work inside code blocks?

No. Everything inside a code block or backticks is shown as typed, so ** appears as two asterisks.

How do I show asterisks without making text bold?

Put a backslash before each asterisk: \*\*text\*\* displays as **text**. Wrapping the text in backticks also turns formatting off.

What HTML does Markdown bold produce?

A <strong> element. If you need <b> instead, write the tag yourself; most Markdown renderers accept inline HTML.