Svg2fbf
SVG Frame-by-Frame Animation Generator svg2fbf - Create SVG animations from a series of SVG frames without the need of javascript or css.
Install / Use
/learn @Emasoft/Svg2fbfREADME
⚠️ ALPHA SOFTWARE: svg2fbf is currently in alpha development. While functional and tested, the API, command-line interface, and FBF format specification may change between releases. Use in production with caution and expect breaking changes until the stable 1.0 release. Check the releases page for the latest version.
Table of Contents
- About FBF.SVG Format
- FBF.SVG Official Logo
- Comparison to Other Web Vector Animation Formats
- Description
- Output Examples
- Requirements
- Installation
- SVG ViewBox Repair Utility
- Quick Start
- CLI Parameters
- FBF Generation Cards
- Input Frame Requirements
- Documentation
- Tools & Scripts
- Troubleshooting
- Contributing
- License
- Acknowledgments
- Origin
About FBF.SVG Format
FBF.SVG (Frame-by-Frame SVG) is a proposed candidate substandard of the SVG specification, analogous to SVG Tiny and SVG Basic. It defines a constrained, optimized profile for declarative frame-by-frame animations that are valid SVG 1.1/2.0 documents with additional structural and conformance requirements.
<p align="center"> <img src="assets/quote_aqua_transparent.svg" alt="Why we need a vector video format - quote from FBF.SVG creator" width="100%" style="max-width: 1200px; height: auto;"/> </p>Design Principles
The FBF.SVG format is designed around eight core principles:
- SVG Compatibility - Every FBF.SVG document is a valid SVG document
- Declarative Animation - Uses SMIL timing, not imperative scripting
- Security First - No external resources; strict Content Security Policy compliance
- Optimization - Smart deduplication and shared definitions minimize file size
- Validatability - Mechanically validatable against formal schema
- Self-Documentation - Comprehensive embedded metadata in RDF/XML format
- Streaming Architecture - Unlimited real-time frame addition without playback interruption
- Interactive Visual Communication - Bidirectional LLM-to-user visual interaction protocol
Format Specification & Schema
📂 FBF.SVG Format Standard — Complete format specification in dedicated folder
Core documents:
- 📋 Specification - Complete format specification
- 📐 XML Schema (XSD) - Formal schema definition for validation
- 📊 Metadata Spec - RDF/XML metadata requirements
- 📝 Format Guide - Technical implementation details
- 📄 Proposal - Original proposal with use cases
The specification defines two conformance levels:
- FBF.SVG Basic - Core structural and animation requirements
- FBF.SVG Full - Adds comprehensive RDF/XML metadata
The svg2fbf tool generates FBF.SVG Full conformant documents.
FBF.SVG Official Logo:
<div align="center"> <a href="https://github.com/Emasoft/svg2fbf"> <picture> <source media="(prefers-color-scheme: light)" srcset=".github/images/fbf_svg_logo_plain_white.svg"> <source media="(prefers-color-scheme: dark)" srcset=".github/images/fbf_svg_logo_plain_black.svg"> <img alt="FBF.SVG Official Logo" src=".github/images/fbf_svg_logo_plain_white.svg" width="100%" style="max-width: 80%; height: auto;"> </picture> </a> </div>Comparison to Other Web Vector Animation Formats
🎯 FBF.SVG is a Perfectly Standard SVG Image File
FBF.SVG files are 100% standard SVG images — nothing more, nothing less:
- ✅ NO JavaScript code inside the file
- ✅ NO CSS code inside the file
- ✅ NO external dependencies
- ✅ Just pure, standard SVG markup (XML)
Compatible with millions of software tools:
- Opens in any web browser (Chrome, Firefox, Safari, Edge)
- Opens in any SVG editor (Inkscape, Illustrator, Affinity Designer, CorelDRAW)
- Opens in any image viewer that supports SVG
- Opens in video editors (Premiere, Final Cut, DaVinci Resolve, Kdenlive)
- Opens in design tools (Figma, Sketch, Canva)
- Works in mobile apps (iOS, Android native SVG support)
The ZERO CODE Advantage: FBF.SVG is the only web vector animation format that contains ZERO CODE:
- ✅ 0 CODE to create — Use visual tools (Inkscape, Krita, OpenToonz, Blender)
- ✅ 0 CODE in the file — Pure SVG image, no JavaScript, no CSS
- ✅ 0 CODE to edit — Edit output in any SVG graphic application
- ✅ 0 CODE to play — Native browser support, open and it animates
This comparison highlights what makes FBF.SVG unique in the web animation ecosystem. Questions are framed to show capabilities that matter for professional animation workflows.
📊 View Full Detailed Comparison Tables — Complete comparison with separate detailed tables for web formats and mobile platforms, plus all formats, tools, pricing, and 78 documented references
🏆 FBF.SVG vs. The Competition: Web & Mobile
One format. Zero code. Works everywhere. This comparison evaluates the most popular alternatives across web and mobile to show why FBF.SVG is superior.
| What Makes a Great Animation Format? | 🎯 FBF.SVG | Lottie (Bodymovin) | OCA (Open Cel) | Rive | Spine | Alembic (.abc) | |---|:---:|:---:|:---:|:---:|:---:|:---:| | Output is a standard SVG image file? | ✅ YES! | ❌ NO, outputs JSON | ❌ NO, outputs JSON+PNG | ❌ NO, outputs .riv binary | ❌ NO, outputs binary+atlas | ❌ NO, outputs .abc scene data (interchange format) | | Compatible with millions of SVG tools? | ✅ YES! (Inkscape, Illustrator, etc.) | ❌ NO, proprietary format | ❌ NO, limited to animation tools | ❌ NO, proprietary format | ❌ NO, proprietary format | ❌ NO, requires 3D/VFX tools | | Playable in any app that supports SVG 1.1? | ✅ YES! | ❌ NO, requires JavaScript library | ❌ NO, must export to video first | ❌ NO, requires runtime library | ❌ NO, requires runtime library | ❌ NO, requires 3D
Related Skills
node-connect
351.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
110.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
351.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
351.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
