Convert animated SVG code/files to video (MP4/WebM) or image (GIF/aPNG) with in-band delivery.
Runs on your machine from its package; the steps are below.

At most: moves money, runs code or commands, deletes data, or sends messages for you.
Odel charges nothing per call. The publisher may charge for its own service.
Runs locally over stdio
This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).
Run
npx -y @gehdoc/svg-to-video
MCP client config
{
"mcpServers": {
"svg-to-video": {
"command": "npx",
"args": [
"-y",
"@gehdoc/svg-to-video"
]
}
}
}Run
docker run -i --rm docker.io/gehdoc/svg-to-video:0.29.3
MCP client config
{
"mcpServers": {
"svg-to-video": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"docker.io/gehdoc/svg-to-video:0.29.3"
]
}
}
}A high-fidelity tool to transform your CSS-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.
SKILL.md) support indexed on the official MCP Registry (mcp.json) and hosted live on HuggingFace Spaces.Choose the entry point that matches your needs:
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 and fonts.
.svg file.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.
Ensure Node.js and FFmpeg are installed.
# Node.js (auto-detected duration)
npx -y -p @gehdoc/svg-to-video svg-to-video input.svg 60 ./out-dir
# Node.js (explicit duration & GIF output)
npx -y -p @gehdoc/svg-to-video svg-to-video input.svg 60 ./out-dir -d 5 --format gif --transparent
# Node.js (custom resolution dimensions e.g. vertical 1080x1920)
npx -y -p @gehdoc/svg-to-video svg-to-video input.svg 60 ./out-dir --width 1080 --height 1920
# Node.js (animated PNG output)
npx -y -p @gehdoc/svg-to-video svg-to-video input.svg 60 ./out-dir -d 5 --format apng
# Docker (zero local dependencies; requires --shm-size=2gb for Chromium rendering; add :Z to -v for SELinux / Fedora)
docker run --rm --shm-size=2gb -e PUPPETEER_ARGS="--no-sandbox" -v $(pwd):/data:Z gehdoc/svg-to-video /data/input.svg 60 /data/out-dir -d 5 --format gif
See docs/CLI.md for full usage, arguments, and options. For local building and source execution, see CONTRIBUTING.md.
Connect svg-to-video to AI Assistants (Claude Desktop, Cursor, Antigravity, AutoGPT) via Model Context Protocol:
mcpServers config:
{
"mcpServers": {
"svg-to-video": {
"command": "npx",
"args": ["-y", "-p", "@gehdoc/svg-to-video", "svg-to-video-mcp"]
}
}
}
"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.
@gehdoc/svg-to-videogehdoc/svg-to-videogehdoc.github.io/svg-to-video/io.github.GehDoc/svg-to-videoGehDoc/svg-to-video-mcp# Run on-demand via npx (no global installation required)
npx -y -p @gehdoc/svg-to-video svg-to-video input.svg 60 ./out-dir
# Install globally via npm
npm install -g @gehdoc/svg-to-video
# Pull official Docker image from Docker Hub
docker pull gehdoc/svg-to-video:latest
For a deep dive into the rendering engine, algorithms, and infrastructure, see docs/ARCHITECTURE.md.
The tool works by isolating the SVG, scrubbing the Web Animations API, and capturing frames via WebCodecs or FFmpeg.
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.
If you find this tool helpful, please consider supporting its development:
Your support helps cover maintenance and further development of the tool. Thank you!
This project is licensed under the MIT License.