Learn how to create headings in markdown from H1 to H6 using hash symbols. Syntax, best practices, platform support, and SEO tips.
Markdown headings are created with hash symbols (#). One hash for H1 (largest), two for H2, up to six for H6 (smallest). Headings structure your document and create a hierarchy that readers and search engines can follow.
One to six hash symbols create H1 through H6.
Underline with = for H1 or - for H2. Less common but valid.
| Platform | Supported | Notes |
|---|---|---|
| GitHub | Yes | Auto-generates anchor links for each heading |
| GitLab | Yes | — |
| Discord | No | No heading support |
| Slack | No | No heading support |
| Yes | Only # for H1 in some contexts | |
| Stack Overflow | Yes | — |
| Notion | Yes | H1-H3 supported, H4-H6 render as H3 |
| Obsidian | Yes | — |
#Heading
# Heading
A space is required between the hash symbol and the heading text. Without it, some parsers won't render the heading.
# Heading 1 # Another Heading 1
# Heading 1 ## Sub Heading
A document should have only one H1. Use H2-H6 for subsections to create a proper hierarchy.
## Sub Heading #### Deep Heading
## Sub Heading ### Next Level
Don't skip heading levels (H2 → H4). Go in order: H2 → H3 → H4 for proper document structure.
Use a single # H1 as your document title. Everything else should be ## H2 or deeper. This is important for SEO and accessibility.
Headings should be concise labels, not full sentences. Aim for 3-8 words that clearly describe the section.
Don't use headings just to make text big. Use them to create a logical document outline that a screen reader could navigate.
Everything you need to know.
Six levels: # H1 (largest) through ###### H6 (smallest). In practice, most documents use H1-H4.
A horizontal rule creates a visual divider across the page. In markdown, use three or more hyphens (---), asterisks (***), or underscores (___) on their own line. Horizontal rules separate sections and improve document readability.
Bold text in markdown is created by wrapping words with double asterisks (**) or double underscores (__). Bold draws attention to important words and phrases, making your content easier to scan.
Links in markdown use square brackets for the display text and parentheses for the URL: [text](url). You can also add hover titles, use reference-style links for cleaner source, and auto-link bare URLs on most platforms.
Paste your markdown and see heading rendered instantly with professional themes.