All Collections
Modrinth Authors
Advanced Markdown formatting
Advanced Markdown formatting

What formatting can I use in supported text boxes on Modrinth?

J
Written by Jai Agrawal
Updated over a week ago

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

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

between its two segments.

This will have an empty line

between its two segments.

This will all
go on one line.

This will all go on one line.

This will be\
split into two lines

This will be

split into two lines

This will also be  <!-- there are two spaces here -->
split into two lines

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.


Did this answer your question?