# Headings
To create a heading, add number signs (`#`) in front of a word or phrase. The number of number signs you use should correspond to the heading level. For example, to create a heading level three (`
`), use three number signs (e.g., `### My Header`).
| Markdown | HTML | Output |
|-----------|------|--------|
|`# Heading level 1`|`
Heading level 1
`|
Heading level 1
|
|`## Heading level 2`|`
Heading level 2
`|
Heading level 2
|
|`### Heading level 3`|`
Heading level 3
`|
Heading level 3
|
|`#### Heading level 4`|`
Heading level 4
`|
Heading level 4
|
|`##### Heading level 5`|`
Heading level 5
`|
Heading level 5
|
|`###### Heading level 6`|`
Heading level 6
`|
Heading level 6
|
### Alternate Syntax
Alternatively, on the line below the text, add any number of `==` characters for heading level 1 or `--` characters for heading level 2.
| Markdown | HTML | Output |
|-----------|------|--------|
|`Heading level 1` `===============`|`
Heading level 1
`|
Heading level 1
|
|`Heading level 2` `---------------`|`
Heading level 2
`|
Heading level 2
|
## Link to heading
The IDs are generated from the content of the header according to the following rules:
1. All text is converted to lowercase.
2. All non-word text (e.g., punctuation, HTML) is removed.
3. All spaces are converted to hyphens.
4. Two or more hyphens in a row are converted to one.
5. If a header with the same ID has already been generated, a unique incrementing number is appended, starting at 1.
For example `### 1. This is my Header` is converted to `#1-this-is-my-header`
### Heading Best Practices
Markdown applications don't agree on how to handle a missing space between the number signs (`#`) and the heading name. For compatibility, always put a space between the number signs and the heading name.
| ✅ Do this | ❌ Don't do this |
|--------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|
| `Try to put a blank line before...`
`# Here's a Heading`
`...and after a heading.` | `Without blank lines, this might not look right.` `#Here's a Heading` `Don't do this !` |