Modrinth's text fields, including project bodies and version changelogs, use GitHub Flavored Markdown.
For most features, you can use the buttons above the input box. However, this box does not support some features. This page intends to provide a reference for many of the things you can use in Markdown that cannot be done with these buttons, along with some advice for the things you can do with the buttons.
HTML also works in all Markdown fields. However, use of HTML tends to override default element styles used on Modrinth. For the sake of consistency, we therefore advise against using HTML elements, except when there is no Markdown equivalent (e.g., spoilers and YouTube embeds).
You can view the spoiler below to see more specifics on how our HTML rendering works.
Supported HTML features
Supported HTML features
A broad subset of HTML is supported. The default XSS whitelist is used, and the following tags are also supported:
kbd
iframe (only from YouTube or Discord)
input
map
picture
source
Additionally, certain elements also support being styled with the following CSS:
float
image-rendering (only the "pixelated" option, otherwise "auto" is used)
text-align
Single-line code blocks
Single-line code blocks can be used by using `tick-marks`, like so: Look at me!
Tables
| 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 |
This ends up being rendered like so:
Note the colons used in the second line of the table to change the column alignment.
Newlines
Markdown | Rendered |
This will have an empty line | This will have an empty line
between its two segments. |
This will all | This will all go on one line. |
This will be\ | This will be split into two lines |
This will also be <!-- there are two spaces here --> | This will also be split into two lines |
Common advice
Images: Alt text is very important to use. Your project may be rejected if you don't add alt text! Refer to section 2.2 of Modrinth's content rules.
Headers: 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.
URLs/links: All links have the following rel
set by default: noopener nofollow ugc
. If you don't know what this means, you probably don't need to worry about it.
Multi-line code blocks: You can add a language (e.g. java
) after the first three backticks to add code highlighting to the code block.
Spoilers: Markdown only works properly in details tags if there is at least one empty line between HTML and Markdown content.