14

I have some rather large PNG files, and I'd like to convert them to vector images for future use. Is there an app that can do this?

I'm thinking something like I have to specify what is what in the image - i.e. I say, "this is a gradient from here to here", "this is text of font x", and "this is a stroke from here to here".

Must:

  • Be able to take in a png file
  • Output to a relatively common vector format
  • Be fairly usable

Ideally, it would run on OS X. I can take a Ubuntu app too, though. Is there an app that can do this?

3
  • What is supposed to happen when there are color gradients in your picture? Should the vectorizing-software create linear gradients and radial gradients then (in the output file), or are you fine with approximating the gradients with a sequence of colored tiles?
    – knb
    Oct 3, 2021 at 8:43
  • You might find online svgstorm useful. It takes all common image formats including png and outputs vector SVG. The output quantity is reasonable.
    – Anonymous
    Feb 5, 2022 at 15:50
  • @Anonymous svgstorm is now svgconverter.app.
    – Anonymous
    May 28, 2023 at 6:36

5 Answers 5

12

Inkscape is an open source vector graphics program available for Linux, Mac and Windows.

It supports raster to vector conversion using the Potrace bitmap tracing engine as documented in this tutorial.

It supports at a minimum png input and SVG output.

Here is sample output:

Inkscape Sample Output

Top row left to right: Photo Original (Credit Flower's.Lover, Licence CC BY 2.0), 4-colour trace.

Bottom row left to right: 8-colour trace, 16-colour trace.

3
  • IIRC Inkscape uses a tool that can be got separately for this. Care to confirm/credit the parent tool inkscape uses, if this is so? (I suspect inkscape has a better GUI that the base tool) Feb 9, 2014 at 9:08
  • I have heard only good things about Potrace. In it's standalone form it is a command line utility. Feb 9, 2014 at 9:32
  • I'm kind of curious to how it does with full colour raster images to full colour vectors. Most of the examples seem to be for monochrome things. Feb 9, 2014 at 9:46
8

From my experience, vectormagic does an awesome job of this, though its not free - the web based version is $7.95 a month (or you can buy tokens for single conversions while the desktop version for windows and linux is roughly 300 US dollars. If its a one off thing, you can get 2 free conversions when you sign up on their site or buy tokens as needed (You can see the result, but not download the vector file without a subcription or using tokens).

The results, though, are fantastic on the right sort of images -

enter image description here

And on a photo

enter image description here

These are previews from the webapp

6

Adobe illustrator is rather good at vectorizing images as well. The built-in function for this is called Image Trace and it allows you to set a bunch of parameters that control how well paths and corners are followed, how small a group of pixels has to be to be considered noise and how many colors you want to use in the vectorized version. A down-side of Adobe Illustrator is the price. It is expensive so if you don't have a license via your work or university or happen to own the package because (for example) you use Photoshop for photo processing then that might be a dealbreaker.

Illustrator takes virtually any raster image format as input and can export to .eps, .pdf and .svg as the most common vector. My experience with the image trace option is that it is extremely simple to use. You open an image in Illustrator (for example .png), click Window > Image trace and you can starting setting controls. Once you're done you hit trace to see the vectorized result and if you are happy with the result you can go to Object > Image trace > Expand to do the final splitting of the vectorized image in separate vector units.

To showcase the capabilities of the program in vectorization I have two examples. The first is an example image of a color explosion is shown below to showcase how well it reproduces all the colors. You can recognize that the picture on the right is vectorized from the blue outline in the bottom right, which is a vector patch.

enter image description here

In the second example image below you see the options menu for the image trace with the settings that you can adjust. A landscape image is pretty much the hardest thing to vectorize because of the continues color gradients throughout the image. The bottom image shows the result from illustrator when you set both paths and corners to 100% and recognize only single pixels as noise.

enter image description here

As you can see the vectorized image (recognizable from the fact that the options in the image trace have been disabled) look closely similar to the original, except for the white-ish streaks in the image. This is in fact a rendering issue of the vector image which disappears if you zoom in a bit (see bottom image).

enter image description here

enter image description here

5

I have recently downloaded a new app for my Mac, Super Vectorizer. It does what you'd think, it turns rasters (non cuttable files) to Vectors (as in Silhouette Studio) and allows export to SVG or PDF Vector files.

The really good thing about it is the simplicity. It opens fast, gives you a couple of options and then does the job. You can literally take photos and vectorise them, or your own art, or clippart etc. Moreover, it imports virtually every format you will come across! It's great for those who are scared of high end graphics software because you only get one window opening, with simple choices and it's fast. vectorized image by edgevectorized image by edge vectorized image by colorvectorized image by color

Original Original

vectorized vectorized

1
  • Super Vectorizer is ok, BUT when I've traced very simple b/w logos from jpgs, it leaves small areas as open paths. Then takes an eternity in my graphics program to close them all. Also had difficulty ungrouping the end file... it didn't want to! So very nearly a great program. Nov 30, 2016 at 11:56
2

Autotrace is a CLI program that has worked well for me, converting scanned contour drawings to vector art (.svg format, specifically).

Potrace is another CLI option; I don't recall why but I settled for Autotrace.

Possible caveat: as far as I am aware, both only accept and output black and white, without even grayscale.

Corel Draw has a color raster-to-vector trace utility as well, which in my opinion does an excellent job.

2
  • Why the downvote? Aug 4, 2017 at 16:14
  • update 2021: autotrace is still available but the source code seems to be unmaintained (last releases compiled in 2020). On Ubuntu Linux, last .deb file from release "travis-20200219.65" is not executable on 20.04 (dependency problems. Perhaps on 18.04?
    – knb
    Oct 3, 2021 at 9:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.