What Is an SVGA File?

An SVGA file (.svga) is an animation file format used for virtual gifts, entry (entrance) effects and avatar frames in live-streaming and voice-chat apps. One file stores the animation's images, vector shapes, frame timing and, in version 2.x, optional sound. Open-source SVGAPlayer libraries play it inside Android, iOS, Flutter and web apps.

Not to be confused with: SVGA here is not Super VGA, the PC display standard, and not SVG, the W3C vector image format.

What is an SVGA file used for?

SVGA is built for short, full-screen or overlay animations that an app plays on demand. In live-streaming and voice-chat apps that usually means three things:

The format suits these jobs because one file carries everything the animation needs, and the app decides when to play it, how often it loops, and when to clear it.

What is inside the SVGA file format?

The SVGA file format describes an animation rather than storing finished video frames. According to the official SVGA format specification, a file contains:

  • A canvas (view box): the width and height the animation is designed for.
  • A frame rate and frame count. The specification allows these frame rates: 1, 2, 3, 5, 6, 10, 12, 15, 20, 30 or 60 fps. Duration is frames ÷ fps.
  • Images: the bitmap pieces of the animation (for example, a rose, a car body or a sparkle), stored as PNGs with transparency.
  • Sprites: layers that place those images, or vector shapes, on the canvas frame by frame, with position, scale, rotation and opacity for every frame.
  • Masks (mattes): layers that clip other layers.
  • Audio (2.x only): sound clips with the frame where each starts and stops.

Here is what that looks like in practice. These values were read from the three free sample gifts offered on our SVGA Player page (the online player plays SVGA 2.x files only):

Sample giftCanvasFrame rateFramesDurationFile size
Glossy Pink Lips750 × 133420 fps663.3 s133 KB
Pink Heart Rocket750 × 133430 fps2408.0 s643 KB
Fiery Red Dragon720 × 128015 fps976.5 s516 KB

All three files use format version 2.1.0, and the duration is simply frames ÷ fps (66 ÷ 20 = 3.3 s). The player draws each frame at runtime from the images and per-frame positions, which is why one file can describe a long, detailed animation.

What is the difference between SVGA 1.x and 2.x?

SVGA has two format versions. They share the same .svga extension but are stored differently, and not every player reads both.

SVGA 1.x: ZIP + JSON

An SVGA 1.x file is a ZIP archive. Inside are PNG images and a JSON description file named movie.spec.

SVGA 2.x: Protobuf + zlib

An SVGA 2.x file stores the description as a Protobuf binary compressed with zlib. The specification says JSON was dropped in 2.0 because complex animations produced very large JSON that was slow to parse and used more memory. Version 2.0 also added audio and bitmap masks.

SVGA 1.xSVGA 2.x
ContainerZIP archivezlib-compressed Protobuf
Animation dataJSON (movie.spec)Binary (Protobuf)
AudioNoYes, optional
Bitmap masksNoYes

Which players read which version?

The specification says a 2.x player should also play 1.x files, while a 1.x player cannot play 2.x files. In practice, support depends on the library:

  • SVGAPlayer-Android and SVGAPlayer-iOS detect ZIP files and decode both versions.
  • The Flutter package (svgaplayer_flutter) states that it supports the 2.0 format only.
  • SVGAPlayer-Web-Lite plays 2.x only; the older SVGAPlayer-Web needs the JSZip library to play 1.x files.
  • Our online SVGA Player plays SVGA 2.x files only.

How can you tell which version a file is?

Check the first bytes: a 1.x file starts with the ZIP signature PK, while a 2.x file starts with zlib-compressed data (often 78 9C in hex). If a file opens on Android or iOS but fails on Flutter or in our online player, it is most likely 1.x.

Which platforms can play SVGA files?

The SVGA project publishes open-source players for the main app platforms, all listed in the official SVGA docs:

PlatformLibraryNotes
AndroidSVGAPlayer-AndroidPlays 1.x and 2.x; can play sound
iOSSVGAPlayer-iOSPlays 1.x and 2.x; can play sound
Fluttersvgaplayer_flutter (SVGAPlayer-Flutter)2.x only
WebSVGAPlayer-Web-Lite (npm svga)2.x only, no sound; still updated
Web (older)SVGAPlayer-Web1.x needs JSZip; sound needs howler.js
HarmonyOSListed in the official docsSee the SVGA docs

One thing to plan for: GitHub marks the official Android, iOS, Web and Flutter player repositories as archived. The Android and iOS READMEs say the code stays available to read and fork, but the repositories no longer receive updates or answer issues. The libraries still install and work, but you maintain any fixes yourself. SVGAPlayer-Web-Lite is the exception: it is not archived and was last updated in 2026. Use the SVGA docs as the starting point for every player. Our step-by-step guide How to Add SVGA Gifts to Android, iOS, Flutter and Web Apps covers setup on each platform.

How do you open an SVGA file?

To get an SVGA file open without installing anything, use our free online SVGA Player as an SVGA file viewer. Drag a .svga file into the page and it plays immediately. The file is read in your browser and never uploaded. The online player plays SVGA 2.x files only; 1.x ZIP files are not supported there.

Image viewers, video players and SVG editors can't open the file, because it isn't an image or a video. Developers can also open a file in any of the SVGAPlayer libraries above, which is the way to view 1.x files. On the same page you can download the free sample gifts listed in the table and test them in your own app before buying anything.

How are SVGA files made, and is there an SVGA file converter?

Designers usually animate in Adobe After Effects or Adobe Animate and export with the official SVGA file converter for each tool: SVGA-AEConverter (After Effects) and SVGA-FLConverter (Animate), both listed in the SVGA docs. These are export plugins, not standalone apps: they turn a project's layers, keyframes and images into the sprite and frame data described above. They don't convert an existing GIF or MP4. SVGa Marketplace doesn't offer an online SVGA file converter.

If you don't have animation resources in-house, you can buy ready-made files instead. SVGa Marketplace also takes commissioned animation or conversion work, quoted separately from catalog prices; see Products & Services and Contact.

How large is an SVGA file?

Size depends on the number and resolution of the images, how many frames the animation has and whether it includes audio. The three samples above range from 133 KB (Glossy Pink Lips, 3.3 s) to 643 KB (Pink Heart Rocket, 8.0 s). Every product page on svgagifts.com lists the file size and duration of that item, so you can compare before you buy.

What should you check before adding an SVGA file to your app?

Before an SVGA file goes into a release, check five things:

  1. Version. Confirm the file is 2.x if any of your platforms uses Flutter or a web player without JSZip.
  2. Canvas and fit. Compare the canvas size with the area where the animation will play, and choose how the player scales it (for example scaleType on Android or fit in Flutter).
  3. Duration and loops. Decide whether it plays once (gifts, entry or entrance effects) or loops (avatar frames).
  4. Sound. Check whether the file includes audio and whether your player supports it.
  5. Playback on real devices. Preview it in our SVGA Player (2.x files only), then test on the slowest phone you support.

Where can you download SVGA files for your app?

For a free SVGA file download, use the three sample gifts on our SVGA Player page (it plays SVGA 2.x files only). SVGa Marketplace also sells ready-made SVGA files for live-streaming and voice-chat apps. Every product has a free preview and can be downloaded right after payment:

Most items are SVGA files; some are WebP, PNG or GIF, and each product page shows the format.

Frequently asked questions

Is an SVGA file the same as an SVG file?

No. SVG is the W3C vector image format that browsers display directly. An SVGA file uses a separate animation format with its own specification (SVGA-Format on GitHub); it combines bitmap images, vector shapes and frame timing in one file. You need an SVGA player library to show it, and SVG tools can't open it.

Can an SVGA file contain sound?

Yes, SVGA 2.x files can carry audio clips that start and stop at set frames. Whether you hear them depends on the player: SVGAPlayer-Android and SVGAPlayer-iOS play audio, SVGAPlayer-Web needs howler.js, and the Flutter package has no audio playback code. Our online SVGA Player plays SVGA 2.x files only and doesn't claim sound playback.

Does an SVGA file loop by itself?

No. Looping is controlled by the player, not the file. On Android, set loops (or app:loopCount), where 0 means loop forever; on iOS, set loops on SVGAPlayer; in Flutter, call repeat() or forward() on the controller. Gifts usually play once, while avatar frames usually loop.

Why won't my SVGA file play in Flutter?

The most likely reason is that it's an SVGA 1.x file. The svgaplayer_flutter package supports the 2.0 format only, so 1.x ZIP files fail to decode. Re-export the file as 2.x, or test it in our online SVGA Player, which also plays 2.x files only.

Are the SVGA player libraries free to use?

Yes, they are open source. SVGAPlayer-Android, SVGAPlayer-iOS and SVGAPlayer-Web are released under the Apache License 2.0. Those official repositories are archived, so they no longer receive updates; SVGAPlayer-Web-Lite is still maintained. Check each project's licence and status before you ship, and plan to maintain fixes yourself.