# 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 !` |