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
Drop an image here, or paste
Your image is never uploaded. It is traced in this tab.Open the full converter
Preset
- 01Logo — set for this page16 colours
- 02Line artBlack & white
- 03Photo64 colours
- 04Embroidery8 colours · Cutout
- 05Vinyl4 colours · Cutout
- 06LaserBlack & white · Polygon
- Output · SVG · PDF · EPS [soon] · DXF [soon]
- Preview free · download with Pro €9.00 / month
- Your file stays in this tab
Why vectortrace
- Ticket 1 / 3
In-browser and private
The engine is WebAssembly running in a worker on your own machine. Your image is never uploaded — so there is nothing to leak, nothing to delete, and nothing to take on trust.
- Ticket 2 / 3
Editable paths, not a wrapper
The engine groups the image into colour regions, takes the boundary between them and fits curves to it. What comes out is real geometry — one fill per region, every node yours to move — produced in the tab and never on a server.
- Ticket 3 / 3
Formats print and production use
SVG and PDF today; EPS and DXF for cutters, engravers and embroidery software as the exporters land. Real files, opened in Illustrator, Inkscape and LibreCAD — not an SVG with a JPEG inside it.
Format facts
| Format facts | GIF · in | SVG · out |
|---|---|---|
| Kind | Raster. Indexed colour, optionally animated. | Vector. Paths described in XML. |
| Scaling | Pixelates past its native size, and the dithering becomes visible. | Sharp at any size. |
| Colour | A 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 in | Photoshop, GIMP, any browser. | Illustrator, Inkscape, Figma, Affinity Designer, a text editor. |
| Typical use | Older web graphics, simple animations, forum artwork. | Web, icons, print artwork, the input to a cutter workflow. |
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.
How it works
Drop the GIF
Drop or paste the .gif file. The first frame is decoded and traced.
Collapse the dithering
Lower the colour count until the checkerboard becomes flat areas, then raise the speckle filter to drop what is left.
Export the SVG
Expect hard edges: GIF transparency is one index, not an alpha channel, so the source had no feathering to recover.
Benchmark
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×
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.
Related
Related conversions