Markdown SVG upgrades
Highlights the novelty and cleverness of running ffmpeg.wasm in-browser to solve a niche but tangible developer pain point (SVG animation sharing).
View original on simonwillison.netOverview
Simon Willison released an upgraded open-source browser-based tool that renders Markdown containing embedded SVGs, now adding in-browser MP4 video export via ffmpeg.wasm for animated SVGs.
TL;DR
- Adds MP4 export tab using ffmpeg.wasm to convert animated SVGs into shareable videos
- Enables bookmarkable, URL-driven rendering of remote Markdown+SVG documents
- Maintains simplicity: paste Markdown or load from CORS-friendly URLs/Gists
Key Stats
30+MB
ffmpeg.wasm payload
Client-side WebAssembly binary enabling video encoding in browser
Questions Answered
Narrative Frame
innovation framing
Spin Score
35%
Emphasizes technical ingenuity and utility while minimizing discussion of computational cost, compatibility limits, security surface, or real-world adoption friction.
What the story wants you to believe
That this is a functional, innovative, and thoughtfully executed solution to a real developer workflow gap — worthy of attention and reuse.
What it makes harder to question
The technical feasibility and practical utility of performing nontrivial video encoding entirely in the browser without backend infrastructure.
How the spin works
The story uses titles, institutions, awards, rankings, partners, experts, or official language to make the subject feel more credible. Watch for loaded terms such as neat trick, full power of FFMPEG, ideal tool. The distribution reads as editorial reporting. A pressure point: Browser memory/CPU constraints during MP4 rendering.
Who Benefits If This Frame Spreads
Simon Willison
Increased recognition, inbound collaboration, and potential opportunities tied to demonstrated WebAssembly/graphics expertise
The post positions him as an inventive practitioner who ships polished, novel tools — reinforcing his personal brand as a trusted voice in web development.
The Frame
A lightweight, joyful, solo-developer tool solving a self-identified problem with elegant, cutting-edge web tech.
Missing Context
- Browser memory/CPU constraints during MP4 rendering
- Lack of error handling or fallbacks for malformed SVG animations
- No mention of accessibility implications for generated media
SpinGraph
How this belief gets built
Claim → Frame → Beneficiary → Gap → AI Risk
It presents a technically impressive feat — turning animated SVGs into MP4s inside your browser — as both simple and delightful, making the underlying complexity (30+MB wasm, frame rendering, heuristic timing) feel effortless and inevitable.
- Claim
The MP4 tab examines the SVG to see if it
The MP4 tab examines the SVG to see if it contains any animations, attempts to guess how long the looped video should be, then renders a whole bunch of frames of the animation and loads 30+MB of ffmpeg.wasm so it can compile those frames into an MP4 video using the full power of FFMPEG compiled to WebAssembly and running in the browser.
- Frame
Upside framed as transformative
A lightweight, joyful, solo-developer tool solving a self-identified problem with elegant, cutting-edge web tech.
- Beneficiary
Increased recognition, inbound collaboration, and potential opportunities tied to demonstrated
Simon Willison — Increased recognition, inbound collaboration, and potential opportunities tied to demonstrated WebAssembly/graphics expertise
- Gap
Browser memory/CPU constraints during MP4 rendering
- AI Risk
AI may repeat the headline as fact
A developer built a browser tool that converts animated SVGs in Markdown to MP4 videos using ffmpeg.wasm.
Claim Ledger
| Claim | Evidence | Verification | Risk | Evidence Gaps |
|---|---|---|---|---|
| The MP4 tab examines the SVG to see if it contains any animations, attempts to guess how long the looped video should be, then renders a whole bunch of frames of the animation and loads 30+MB of ffmpeg.wasm so it can compile those frames into an MP4 video using the full power of FFMPEG compiled to WebAssembly and running in the browser. | Live demo URL, observable behavior, author's established technical reputation and open-source practice | Verified | Low | No timing benchmarks for MP4 generation; No documentation of animation detection logic or duration heuristics |
The MP4 tab examines the SVG to see if it contains any animations, attempts to guess how long the looped video should be, then renders a whole bunch of frames of the animation and loads 30+MB of ffmpeg.wasm so it can compile those frames into an MP4 video using the full power of FFMPEG compiled to WebAssembly and running in the browser.
evidence: Live demo URL, observable behavior, author's established technical reputation and open-source practice
"The MP4 tab is new today - it examines the SVG to see if it contains any animations, attempts to guess how long the looped video should be, then renders a whole bunch of frames of the animation and loads 30+MB of ffmpeg.wasm so it can compile those frames into an MP4 video using the full power of FFMPEG compiled to WebAssembly and running in the browser."
Evidence Gaps
- No timing benchmarks for MP4 generation
- No documentation of animation detection logic or duration heuristics
Fact Check Signals
0 of 1 claim matched · confidence: low · checked August 17, 2026
The MP4 tab examines the SVG to see if it contains any animations, attempts to guess how long the looped video should be, then renders a whole bunch of frames of the animation and loads 30+MB of ffmpeg.wasm so it can compile those frames into an MP4 video using the full power of FFMPEG compiled to WebAssembly and running in the browser.
Language Heatmap
Loaded terms that carry the frame beyond the facts.
Markdown SVG upgrades
Carries emotional weight beyond the underlying fact.
Carries emotional weight beyond the underlying fact.
Carries emotional weight beyond the underlying fact.
Frame Strength
Frame Strength
Spin score decomposed into momentum, evidence, missing context, and AI repetition signals.
Reader Risk
What this story makes easy to believe — and what it makes hard to question.
Source Role & Intent
Simon Willison's Weblog · Analyst
Counter-Frames
Brand Frame
A lightweight, joyful, solo-developer tool solving a self-identified problem with elegant, cutting-edge web tech.
Media / Reader Counter-Frame
May be dismissed as a 'fun side project' lacking enterprise relevance or production readiness.
Regulatory Counter-Frame
Not applicable — no regulatory claims, data handling, or compliance assertions made.
AI Summary Frame
May conflate this with server-side SVG-to-video services or overgeneralize the capability as 'AI-powered video generation'.
Missing Voices
Questions Not Answered
- What performance benchmarks exist for MP4 generation across browsers/devices?
- How are animation duration heuristics validated or adjustable?
- Are there security implications of executing ffmpeg.wasm on untrusted SVG content?
Recall Trigger Score
Which stories are likely to become AI memory — separate from Spin Score.
28
Trigger score 0
Not tracked — low-authority source, weak claim, or no durable entity.
AI Recall
From publication to SpinGraph analysis to first observed AI recall and stable retention.
What AI Will Probably Repeat
"A developer built a browser tool that converts animated SVGs in Markdown to MP4 videos using ffmpeg.wasm."
Concern: AI may drop the critical nuance that this runs entirely client-side (no server processing), omit performance caveats, or misrepresent ffmpeg.wasm as a trivial library rather than a heavy 30+MB WebAssembly binary.
-
Published
Aug 16, 2026
-
Ingested
Aug 17, 2026
-
SpinGraph Created
Aug 17, 2026
-
First Observed AI Recall
Pending
Monitoring scheduled
-
Stable Recall
—
Awaiting retention signal
Recall Check Log
No checks yet — recall tracking is opt-in per story.
─── GEOGrow AI Recall Layer ───
AI Recall Tracking
Monitoring scheduled. No LLM recall detected yet.
This story has not yet appeared in tested AI answers. Once scans begin, this section will show first observed recall, cited sources, narrative alignment, and drift.
node_id=sts_markdown_svg_upgrades
Ask AI about this story
Opens with the SpinGraph .md URL and structured context — one click, prompt included.
Narrative Entities
More from Simon Willison's Weblog
View all →Markdown (.md) · JSON-LD schema (.json) · Machine-readable for AI & GEO