SVG to Video
io.github.GehDocPublished by GitHub account GehDocv0.34.0Updated Nov 11, 2026
Convert animated SVG (CSS/SMIL) to video (MP4/WebM) or image (GIF/aPNG) with in-band delivery.
Overview
Converts CSS- and SMIL-animated SVG files into MP4, WebM, MKV, MOV video or aPNG/GIF images, with optional transparency, for an AI assistant.
- What you can do
- Render animated SVG files into video or animated image formats
- Set resolution, duration, frame rate, output format and transparent background
- Attach custom titles and comments as metadata to the output
- Return the converted result in-band to the assistant
- When to use it
- Useful when you have animated SVG assets and want an assistant to turn them into shareable video or GIF/aPNG files, for example for documentation, chat previews, overlays or CI-generated demos.
- Requirements
- Runs locally over stdio via npx (Node.js) or the Docker image; the CLI path needs Node.js and FFmpeg installed. Docker needs a larger shared memory setting for Chromium rendering. No authentication is declared. Optional environment variables: DO_NOT_TRACK, MCP_HOSTED, PUPPETEER_ARGS, PUPPETEER_EXECUTABLE_PATH.
Installation
In SourceWeft
- Open SVG to Video in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
SVG to Video
[CI] [Last Commit] [GitHub Release] [npm Version] [Docker Image] [MCP Registry] [HuggingFace Space] [llms.txt]
A high-fidelity tool to transform your CSS- and SMIL-animated SVGs into high-quality videos (MP4, WebM, MKV, MOV) or lightweight animated formats (aPNG, GIF) with perfect alpha-channel transparency directly in your browser or via CLI/MCP server.
Automated demo generated by our CI/CD pipeline
🌟 Why SVG to Video?
- Transparent Backgrounds: Export your animations with a full alpha channel using WebM or aPNG, and optimized indexed transparency with GIF89a. Perfect for overlays in video editing tools or web use.
- Privacy-First: The Web Studio runs entirely in your browser—your SVG files never leave your computer.
- Frame-Accurate: Our engine scrubs both the Web Animations API and native SVG SMIL, ensuring every frame is captured exactly as rendered.
- AI Agent Native: Native Model Context Protocol (MCP) server and Agent Skill (
SKILL.md) support indexed on the official MCP Registry (mcp.json) and hosted live on HuggingFace Spaces. - Universal Animated Formats: Beyond video, generate lightweight Animated PNGs (aPNG) and GIFs perfect for documentation, Slack, or GitHub, with full control over background transparency.
- Copy to Clipboard: Instant export to Base64 Data URL—copy your video and embed it directly into your HTML, CSS, or JS code without manual downloads. Perfect for rapid prototyping and developers.
- Metadata Injection: Support for custom titles and comments across video (MP4, WebM, MKV, MOV) and animated image (aPNG, GIF) formats.
- Versatile: Whether you need an accessible Web Studio for quick conversions or a powerful CLI tool for batch automation and CI/CD pipelines, this project has you covered.
🚀 Getting Started
Choose the entry point that matches your needs:
- Web Studio: The easiest way to convert SVGs to video, high-fidelity aPNG, or optimized GIF in your browser without any installation.
- CLI / Docker Tool: For batch processing, server-side automation, and CI/CD integration.
- AI Agent & MCP Server: For Claude Desktop, Cursor, Antigravity, and autonomous LLM workflows.
🌐 Web Studio
Our Web Studio is a serverless, client-side rendering tool. It runs entirely in your browser using WebCodecs—your SVG files never leave your computer, ensuring absolute privacy. The interface is optimized for high-productivity on screens starting from 720p resolution.
Automated Demo: The demo video at the top of this README is automatically generated and updated by our CI/CD pipeline using Playwright and Driver.js, ensuring it always reflects the latest UI changes.
Privacy Note: We use Umami Analytics to collect anonymous usage data across our Web Studio, CLI, and MCP server interfaces (e.g., number of conversions and format usage) to help us improve the tool. This tracking is cookie-less, respects standard "Do Not Track" settings (set the
DO_NOT_TRACK=1environment variable to opt out), and never collects personal information or SVG contents. See docs/ANALYTICS.md for details.
Explore our Visual Gallery (Storybook) to see how the engine handles complex CSS, SMIL, and fonts.
Quick Start
- Open the Web Studio.
- Drag and drop your
.svgfile, or test the engine instantly with 1-click built-in samples. - Adjust resolution, duration, and FPS.
- Select your format, toggle Transparent Background if needed, and ensure High-Fidelity Capture is enabled for best results.
- Click Export.
🚀 CLI / Docker Tool
For automated or batch processing, use the CLI tool. It is built to run in a headless environment, making it perfect for CI/CD pipelines or server-side automation.
Quick Start
Ensure Node.js and FFmpeg are installed.
See docs/CLI.md for full usage, arguments, and options. For local building and source execution, see CONTRIBUTING.md.
🤖 AI Agent & MCP Integration
Connect svg-to-video to AI Assistants (Claude Desktop, Cursor, Antigravity, AutoGPT) via Model Context Protocol:
- Add to
mcpServersconfig: - Prompt your AI Assistant:
"Convert
examples/example.svginto a 60fps transparent WebM video."
See docs/MCP.md for full setup instructions, tool schemas, Docker execution, and agent prompting guides.
🔗 Official Package Distributions
- 📦 npm Package:
@gehdoc/svg-to-video - 🐳 Docker Hub Image:
gehdoc/svg-to-video - 🌐 Web Studio:
gehdoc.github.io/svg-to-video/ - 🤖 MCP Registry:
io.github.GehDoc/svg-to-video - 🤗 HuggingFace Space:
GehDoc/svg-to-video-mcp
📦 Quick Installation & Execution
🛠 Technical Details
For a deep dive into the rendering engine, algorithms, and infrastructure, see docs/ARCHITECTURE.md.
The tool works by isolating the SVG, scrubbing both the Web Animations API and native SVG SMIL DOM, and capturing frames via WebCodecs or FFmpeg.
❓ FAQ
Common questions about privacy, how frame scrubbing works, CI/CD automation, and transparency support are answered in docs/FAQ.md.
🤝 Contributing
Contributions are welcome! This project follows a Spec-Driven Development (SDD) workflow to ensure clear requirements and high quality. Please open an issue or pull request.
Check out our Active Roadmap to see what we're working on next.
For instructions on contributing, build commands, security standards, and the technical roadmap, please see CONTRIBUTING.md.
💖 Support the Project
If you find this tool helpful, please consider supporting its development:
Your support helps cover maintenance and further development of the tool. Thank you!
📜 License
This project is licensed under the MIT License.
Source: README.md at commit 1ef6b94
Tools
0Version history
17- v0.34.0LatestNov 11, 2026
- v0.33.0Oct 19, 2026
- v0.32.1Oct 19, 2026
- v0.31.0Oct 18, 2026
- v0.30.0Oct 14, 2026
- v0.29.5Oct 13, 2026
- v0.29.4Oct 13, 2026
- v0.29.3Oct 8, 2026
- v0.29.2Oct 7, 2026
- v0.29.0Oct 6, 2026
- v0.28.4Oct 5, 2026
- v0.28.3Oct 3, 2026
- v0.28.2Oct 3, 2026
- v0.27.8Sep 29, 2026
- v0.27.6Sep 28, 2026
- v0.27.5Sep 27, 2026
- v0.27.3Sep 26, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts