Skip to main content
Write markdown. This function takes a string of markdown as input and returns an Html object. Output the object as the last expression of a cell to render the markdown in your app.

Usage

mo.md("# Hello, World!")
mo.md(
    r'''
    The exponential function $f(x) = e^x$ can be represented as

    \[
        f(x) = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \ldots.
    \]
    '''
)

Signature

mo.md(text: str) -> Html

Parameters

text
str
required
A string of markdown.

Returns

Html
An Html object.

Interpolation

You can interpolate Python values into your markdown strings, for example using f-strings. Html objects and UI elements can be directly interpolated.
text_input = mo.ui.text()
mo.md(f"Enter some text: {text_input}")
For other objects, like plots, use marimo’s as_html method to embed them in markdown:
import matplotlib.pyplot as plt

plt.plot([1, 2])
axis = plt.gca()
mo.md(f"Here's a plot: {mo.as_html(axis)}")

LaTeX

Enclose LaTeX in single $ signs for inline math, and double $$ for display math or square brackets for display math. (Use raw strings, prefixed with an “r”, to use single backslashes.)
mo.md(
    r'''
    The exponential function $f(x) = e^x$ can be represented as

    \[
        f(x) = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \ldots.
    \]
    '''
)

Build docs developers (and LLMs) love