Free preview · no upload

Convert GIF to SVG

A GIF has at most 256 indexed colours, so the palette work is half done before the trace starts. What is left is dithering, and dithering needs handling.

Input
GIF
Output
SVG
Engine
WASM, in your tab
Price
Free preview
Job ticketGIF → SVG · Preset: Logo

Drop an image here, or paste

SVGPDF

Your image is never uploaded. It is traced in this tab.Open the full converter

Preset

  • 01Logoset for this page16 colours
  • 02Line artBlack & white
  • 03Photo64 colours
  • 04Embroidery8 colours · Cutout
  • 05Vinyl4 colours · Cutout
  • 06LaserBlack & white · Polygon
01

Why vectortrace

3 claims · fixed order
02

Format facts

GIF in · SVG out
Format factsGIF · inSVG · out
KindRaster. Indexed colour, optionally animated.Vector. Paths described in XML.
ScalingPixelates past its native size, and the dithering becomes visible.Sharp at any size.
ColourA palette of at most 256 colours. Transparency is one palette index.One solid fill per path, in a palette you can edit by hand.
Editable inPhotoshop, GIMP, any browser.Illustrator, Inkscape, Figma, Affinity Designer, a text editor.
Typical useOlder web graphics, simple animations, forum artwork.Web, icons, print artwork, the input to a cutter workflow.
03

Worth knowing

GIF stores an index per pixel into a palette of at most 256 entries. For a flat mark that is a gift: the colour regions are already discrete, and a small palette in the preset merges the near-duplicates that the encoder added.

Dithering is the catch. When a GIF was made from a photograph or a gradient, the encoder scattered two palette colours in a checkerboard to fake a third. A tracer sees that checkerboard as thousands of tiny regions. Raise the speckle filter and drop the colour count and the dither collapses back into flat areas.

Transparency in GIF is a single fully transparent palette index — there is no partial alpha — so edges of a transparent GIF are hard, not feathered. That traces cleanly, but it also means the original had visible stair-stepping that the trace will follow.

04

How it works

3 steps
  1. Drop the GIF

    Drop or paste the .gif file. The first frame is decoded and traced.

  2. Collapse the dithering

    Lower the colour count until the checkerboard becomes flat areas, then raise the speckle filter to drop what is left.

  3. Export the SVG

    Expect hard edges: GIF transparency is one index, not an alpha channel, so the source had no feathering to recover.

05

Benchmark

No claim without a number, a date and a version.
smoke (30 fixtures) · 2026-08-27 · 0.2.0

Measured, not marketed. The corpus, the method and every figure the run produced are published in full.

Methodology/benchmarks
boundary error, p95
0.39 px
region-count error
0.113
node-count ratio
6.35×
06

Questions

3 questions
01What happens to an animated GIF?
The first frame is traced. An SVG that animates would need a path set per frame and a timeline, which is a different job; export the frame you want as a PNG and trace that if it is not the first.
02Why does my traced GIF have a checkerboard of tiny shapes?
That is dithering being traced accurately. Lower the colour count so the two dithered colours merge, and raise the speckle filter so the leftover single-pixel regions are dropped.
03Is the GIF uploaded anywhere?
No. The tracer is WebAssembly running in a Web Worker in this tab, so the pixels stay on your machine. There is no upload step, which is also why it keeps working with the network off.
07

Related

7 links