Skip to content
AI-Assisted Development3 min read

Simon Willison's Markdown-SVG Renderer Now Compiles MP4 in Your Browser

A single-file tool for pasting Markdown with embedded SVG just picked up in-browser video export via ffmpeg.wasm — a small but instructive example of how far client-only tooling has come.

By TRAGenX Desk

Share

A Markdown renderer that also compiles video

Simon Willison has been quietly expanding a small utility called markdown-svg-renderer since May 2026. Its job is narrow: paste in Markdown that contains SVG code blocks, and it renders those blocks as actual graphics instead of raw XML. Willison built it, by his own account, to solve a recurring problem in his own writing — sharing transcripts of AI-generated SVG art, including his running series of pelicans riding bicycles, a prompt he uses to informally benchmark how well a model handles spatial reasoning.

The interesting part isn't the pelicans, though — it's what the tool has grown into. Each rendered SVG block now shows in tabs for Rendered, PNG, JPEG, MP4, and raw Code, so a single paste gives you both the visual and exportable assets without opening a design tool.

The ffmpeg.wasm detail worth noticing

The newest addition is video export: if an SVG contains CSS or SMIL animation, the tool estimates its duration, renders it frame by frame, and hands those frames to ffmpeg.wasm to compile an MP4 — all inside the browser tab, no server round-trip. That's a meaningful technical choice. ffmpeg.wasm ports a full video encoder to WebAssembly, which means a tool with zero backend can still do work that would normally require a media-processing service. For anyone building developer tooling, it's a useful reminder of how much used to require server infrastructure can now just... run client-side.

  • Paste Markdown directly, or point the tool at a CORS-friendly URL or GitHub Gist
  • SVG blocks render inline with tabs for Rendered / PNG / JPEG / MP4 / Code
  • Loading from a Gist produces a bookmarkable URL — e.g. markdown-svg-renderer#url=https://gist.github.com/... — that reproduces the exact render for anyone who opens the link
  • The whole tool lives in Willison's public tools repo alongside dozens of similar single-purpose utilities

Why this is worth a builder's attention

Willison's tools repo is a good case study in a pattern that's become common practice for people who write a lot of code with LLM assistance: small, static, single-file utilities that get built, shipped, and iterated on in hours rather than sprints, with no deployment pipeline beyond static hosting. There's no database, no auth, no server cost — state lives in the URL itself. That's not a novel architecture, but it's a useful default to reach for when the alternative is standing up infrastructure for something that's really just a rendering problem.

It's also a small signal of where browser capability has landed: WebAssembly-compiled tools like ffmpeg.wasm mean 'client-side only' is no longer a meaningful constraint for a growing set of workloads that used to force a backend decision by default.

FAQ

Frequently asked questions

What is markdown-svg-renderer?
It's a free browser tool by Simon Willison that renders Markdown documents containing embedded SVG code blocks as actual graphics, with export options for PNG, JPEG, and MP4.
How does the MP4 export work without a server?
The tool uses ffmpeg.wasm, a WebAssembly build of the ffmpeg video encoder, to render animation frames and compile them into an MP4 entirely inside the browser tab.
Can I share a rendered document with someone else?
Yes — if you load the Markdown from a CORS-friendly URL or GitHub Gist, the tool generates a bookmarkable link that reproduces the same render for anyone who opens it.

Sources

Share

Read next