
Convert animated GIFs to animated SVGs.

framesvg
is a web app, command-line tool, and Python library that converts animated GIFs into animated SVGs. It leverages the power of VTracer for raster-to-vector conversion, producing smooth, scalable, and true vector animations. This is a significant improvement over embedding raster images (like GIFs) directly within SVGs, as framesvg
generates genuine vector output that plays automatically and scales beautifully. Ideal for readmes, documentation, and web graphics.
You can try it now at framesvg.romelium.cc
Why Use framesvg?
- True Vector Output: Unlike simply embedding a GIF within an SVG,
framesvg
creates a true vector animation. This means:
- Scalability: The SVG can be resized to any dimensions without losing quality.
- Smaller File Size (Potentially): For many GIFs, the resulting SVG will be smaller, especially for graphics with large areas of solid color or simple shapes. Complex, photographic GIFs may be larger, however.
- Automatic Playback: The generated SVGs are designed to play automatically in any environment that supports SVG animations (web browsers, GitHub, many image viewers, etc.).
- Easy to Use: Simple command-line interface and a clean Python API.
- Customizable: Control the frame rate and fine-tune the VTracer conversion process for optimal results.
- Network Compression: SVGs are text-based and highly compressible. Web servers typically use gzip or Brotli compression, significantly reducing the actual transfer size of SVG files compared to GIFs (which are already compressed and don't utilize this). This leads to much faster loading times than GIFs. You can see it here.
Examples
There is a dedicated and more better example page here
The following examples demonstrate the conversion of GIFs (left) to SVGs (right) using framesvg
.
