Markdown Formatting
Modrinth's text fields, including project bodies and version changelogs, use GitHub Flavored Markdown.
As the full GFM spec is too large to read comfortably and GitHub's formatting guide contains features not included in GFM, this page serves as a quick reference for what types of formatting can be used on Modrinth.
The displayed features may not reflect the actual style used on Modrinth.
Basic formatting
- Source
- Preview
**Bold**
*Italic*
***Bold and Italic***
~~Strikethrough~~
Bold
Italic
Bold and Italic
Strikethrough
Code blocks
- Source
- Preview
`single-line code block`
```
multi
line
code
block
```
single-line code block
multi
line
code
block
You can add a language (e.g. java
) after the first three backticks to add code highlighting to the code block.
Block quotes
- Source
- Preview
> Some Quote
> > Nested Quote
Some Quote
Nested Quote
Links
- Source
- Preview
https://modrinth.com
[Embedded link](https://modrinth.com)
[Embedded link with title](https://modrinth.com 'Title')
[Reusable link]
<!-- (end of document) -->
[Reusable link]: https://modrinth.com
Images
- Source
- Preview


<!-- Use the Gallery tab on your project for image hosting! -->
Alt text is very important to use. Your project may be rejected if you don't add alt text! Refer to section 2.1 of Modrinth's content rules.
Headings
- Source
- Preview
# H1 Header
## H2 Header
### H3 Header
#### H4 Header
##### H5 Header
###### H6 Header
Do not overuse headers, but do not underuse them either! Headers are meant to delineate different sections of content in your description. Entire sentences should never be inside a header.
Lists
Unordered Lists
- Source
- Preview
- Entry 1
- Entry 2
- Entry 2.1
- Entry 2.2
- Entry 3
- Entry 1
- Entry 2
- Entry 2.1
- Entry 2.2
- Entry 3
Ordered Lists
- Source
- Preview
1. Entry 1
2. Entry 2
1. Entry 2.1
2. Entry 2.2
3. Entry 3
- Entry 1
- Entry 2
- Entry 2.1
- Entry 2.2
- Entry 3
Tables
- Source
- Preview
| Title 1 | Title 2 | Title 3 |
|---------------------|:---------------------:|---------------------:|
| Cell 1:1 | Cell 1:2 | Cell 1:3 |
| Cell 2:1 | Cell 2:2 | Cell 2:3 |
| Cell 3:1 | Cell 3:2 | Cell 3:3 |
| Left-aligned column | Center-aligned column | Right-aligned column |
Title 1 | Title 2 | Title 3 |
---|---|---|
Cell 1:1 | Cell 1:2 | Cell 1:3 |
Cell 2:1 | Cell 2:2 | Cell 2:3 |
Cell 3:1 | Cell 3:2 | Cell 3:3 |
Left-aligned column | Center-aligned column | Right-aligned column |
Note the colons used in the second line of the table to change the column alignment.
Details (spoilers)
- Source
- Preview
<details>
<summary>Click me!</summary>
You clicked me!
</details>
Click me!
Markdown only works properly in details tags if there is at least one empty line between HTML and Markdown content.
Newlines
- Source
- Preview
This sentence will have an empty line
between its two segments.
---
This sentence will all
go on one line.
---
This sentence will be\
split into two lines
---
This sentence will also be <!-- there are two spaces after this line -->
split into two lines
This sentence will have an empty line
between its two segments.
This sentence will all go on one line.
This sentence will be
split into two lines
This sentence will also be
split into two lines
YouTube iframes
To use a YouTube iframe, copy-paste the following into your description:
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/REPLACE_THIS_TEXT_HERE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
Then, replace the text that says REPLACE_THIS_TEXT_HERE
with the 11-character code that follows /watch?v=
in the YouTube video URL. For example, it should look something like d1YBv2mWll0
. Remove any query parameters like si=randomText
or wmode=transparent
.