Say you have a bitmap graphic — like a JPG, PNG, or GIF — and you wish it was vector, like SVG. What do you do? You could trace it yourself in some kind of design software. Or tools within design software can help.
(I don’t wanna delay the lede here, there is a free online tool for it now called SVGcode.)
I remember when Adobe Illustrator CS2 dropped in 2005 it had a feature called “Live Trace” and I totally made it my aesthetic. I used to make business cards for my folk band and they all had the look of a photograph-gone-vector. These days they apparently call it Image Trace.
![Showing two images comparing a raster image to the Image Trace effect in Adobe Illustrator.](https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/01/image-trace.png?resize=1238%2C1400&ssl=1)
SVGcode does exactly this, for free
Adobe software costs money though, so what other options are out there? I imagine they are out there, but now there is a wonderfully single-purpose web app called SVGcode for it by Thomas Steiner! He’s written about it in a couple of places:
I think it’s so cool both in what it does (super useful!) but also in the approach (so impressive what web apps can do these days!):
It uses the File System Access API, the Async Clipboard API, the File Handling API, and Window Controls Overlay customization. […]
Credit where credit is due: I didn’t invent this. With SVGcode, I just stand on the shoulders of a command line tool called Potrace by Peter Selinger that I have converted to Web Assembly, so it can be used in a Web app.
My just-out-of-college aesthetic is gonna live on people!
![Showing the Image Trace effect previewed in SVGcode.](https://i0.wp.com/css-tricks.com/wp-content/uploads/2022/02/svgcode-example.png?resize=3008%2C2736&ssl=1)
Thomas joined me and Dave over on ShopTalk episode #497 if you’re interested in hearing straight from Thomas about not just this, but the whole world of capable web apps. That episode was sort of designed as a follow-up to an article I wrote that asks: “Why would a business push a native app over a website?”
Best of all: It has the ability to be set as the default file handler on an OS level thanks to the
file_handler
manifest property. From the web.dev article:Mind-boggling!
Right? The modern web is just amazing! I love all the new powers we’re given at our hands. Let’s use them wisely.