Automatic visual tests in Storybook, plus 2.2x faster build times for React+TSVisual test with Chromatic


The Markdown block allows you to import and include plain markdown in your MDX files.

Screenshot of Markdown block

When importing markdown files, it’s important to use the ?raw suffix on the import path to ensure the content is imported as-is, and isn’t being evaluated:


Markdown is configured with the following props:


Type: string

Provides the markdown-formatted string to parse and display.


Specifies the options passed to the underlying markdown-to-jsx library.

Why not import markdown directly?

From a purely technical standpoint, we could include the imported markdown directly in the MDX file like this:

However, there are small syntactical differences between plain markdown and MDX2. MDX2 is more strict and will interpret certain content as JSX expressions. Here’s an example of a perfectly valid markdown file, that would break if it was handled directly by MDX2:

Furthermore, MDX2 wraps all strings on newlines in p tags or similar, meaning that content would render differently between a plain .md file and an .mdx file.

Was this page helpful?

Markdown accepted ([link text](url), _italic_, **bold**, etc). Your anonymous feedback will be posted publicly on GitHub.

✍️ Edit on GitHub – PRs welcome!
Join the community
6,322 developers and counting
WhyWhy StorybookComponent-driven UI
Open source software

Maintained by
Special thanks to Netlify and CircleCI