Render markdown to an ANSI-colored terminal string.
Supports headings, lists, tables, inline styles, syntax-highlighted code blocks, links, images, and blockquotes. By default, enables all GFM extensions plus wikilinks, underline, and LaTeX math.
function
Render markdown to an ANSI-colored terminal string.
Supports headings, lists, tables, inline styles, syntax-highlighted code blocks, links, images, and blockquotes. By default, enables all GFM extensions plus wikilinks, underline, and LaTeX math.
The markdown string or buffer to render
Optional theme overrides
An ANSI-colored string
const out = Bun.markdown.ansi("# Hello\n\n**bold** and *italic*\n");
process.stdout.write(out);
// Plain text, no escape codes
const plain = Bun.markdown.ansi("# Hello", { colors: false });
// Enable clickable OSC 8 hyperlinks
const linked = Bun.markdown.ansi("[docs](https://bun.com)", {
hyperlinks: true,
});
// Inline images via Kitty Graphics Protocol
const withImg = Bun.markdown.ansi("", {
kittyGraphics: true,
});
// Custom width
const wrapped = Bun.markdown.ansi(longText, { columns: 60 });
Represents a raw buffer of binary data, which is used to store data for the different typed arrays. ArrayBuffers cannot be read from or written to directly, but can be passed to a typed array or DataView Object to interpret the raw buffer as needed.
Theme for ANSI terminal rendering.
Emit ANSI color + styling escape sequences. When false, the renderer falls back to plain ASCII chrome (no box drawing, no emoji, no escape codes).
Line width used for word-wrapping paragraphs and headings and for the horizontal rule. Pass 0 to disable wrapping.
Emit OSC 8 hyperlinks (clickable links in modern terminals). When false, links render as text (url).
Inline images using the Kitty Graphics Protocol when the src resolves to a local file on disk. Falls through to the text alt for remote URLs. Supported by Kitty, WezTerm, and Ghostty.
True when the terminal background is light. Affects the color palette chosen for inline code backgrounds. Defaults to detecting from the COLORFGBG environment variable.