Back

SVG Path Editor

254 points16 daysyqnn.github.io
AmbroseBierce10 days ago

I have tried to use ChatGPT and Google's Gemini to make SVG from simple logos bitmaps but its still a daunting task for them, so I guess tools like this one will still be needed for a while.

a13o10 days ago

If you search for ‘vectorization AI’ there are a handful of specialized tools and apis that can do it. It worked well for a handful of logos I wanted to convert. Nano banana generated the raster logos, and these other tools vectorized them

darknoon10 days ago

I haven't seen one that worked properly—can you list a couple examples? Some of the ones that say they're "AI" are just VTracer / Potrace and don't give nice control points.

a13o10 days ago

I liked the results of vectorizer.ai and recraft.ai

Input image is important too. When working with the generalist LLM on the raster art, give it context that you are making a logo, direct it to use strokes and fills and minimal color palette, readable at small sizes, etc.

ChadNauseam10 days ago

vectorizer.ai is amazing. It's worked great for like over 10 years (back when it had a name like vector magic or something). I'm super curious how it's implemented

animal_spirits10 days ago

Even inkscape can do this

lukan10 days ago

But only gives useful results some of the time. But I don't know if "vectorization AI" is already better.

dagss10 days ago

Others have mentioned SVG AI tools... I've tried 3-4 over the previous days and eventually ended up with svgai.org (after I've used Google Gemini for bitmap).

You can instruct it to make edits, or say "Use SVG gradients for the windows" and so on and you can further iterate on the SVG.

It can be frustrating at times, but the end result was worth it for me.

Though for some images I've done 2-3 roundtrips manual editing, Nano Banana, svgai.org ...

The advantage is that it produces sane output paths that I can edit easily for final manual touches in Inkscape.

Some of the other "AI" tools are often just simply algorithms for bitmap->vector and the paths/curves they produce are harder to work with, and also give a specific feel to the vector art..

dgb2310 days ago

It seems like the problem of pushing pixels around in an exact way and iterating on visual design is a problem that needs very specialized tools, regardless whether there is LLM support.

LuckyBuddy10 days ago

Yes, these AI tools are good at drawing JPGs or PNGs, but not so good at generating SVGs. I searched for several image-to-SVG tools, and the best one was this Adobe tool: https://www.adobe.com/express/feature/image/convert/svg. After converting to SVG, I used Figma to fine-tune it.

exclipy10 days ago

Free idea: turn this into an MCP server. Give the agent the ability to virtually "hover" a path and see which part of the final render it corresponds to

exclipy8 days ago

If anyone sees this, I tried it and unfortunately am not getting better results on the pelican-on-bicycle test. I think the vision models just aren't good enough yet (I tried Claude and Gemini)

I can share the code if there's interest.

athrowaway3z9 days ago

You can get pretty decent initial results if you explicitly tell them to first make a detailed description with exact coordinates and then feed the description back into them to build the SVG.

bigcloud12999 days ago

Try Claude code. I have built so many. Entire pitch decks for my startup. It is the best. Tell it to use animation libraries gsap framer motion etc to build svg.

j4510 days ago

SVG is often relatively complex and dense.

A dedicated or fine tuned model for just SVGs would be pretty wild.

Tagbert9 days ago

The problem isn't really SVG but the more complex problem of looking at a, possibly noisy, image with continuous color variations and identifying the cutoff point where you contain one part in a border and a different part in another border. That can be judgement call that is made better if you actually understand what is represented but harder if you are working at the pixel level.

__jonas10 days ago

I use this often when I need to work with individual path commands, it’s a great tool!

usrusr10 days ago

Same! My use case is 2d splines for use in openSCAD, stuff that eventually arrives at my doorstep from a 3d printing service. I just love the ability to overlay reference bitmaps, super valuable for the parts I've been making.

Before stumbling upon this tool, I've spent a lot of time tweaking SVP paths in "mostly manual" files in other projects, it's a recurring theme for me. I was delegating the more interesting paths to Inkscape or similar, but keeping the basic structure handwritten. This tool would have made my life so much easier!

sandos10 days ago

I keep trying to generate SVG using LLMS when I feel mermaidjs does not work. There has to be a better option here? I just want slightly more control than mermaidjs sometimes, but it seems its the de-facto default we are stuck with.

rankdiff10 days ago

For this looking to vectorize raster image: Corel Draw is a good tool I used to use.

albeit, it is heavy tool that comes with lots of feats.

tuzemec10 days ago

Nice! I like how it highlights the commands when you hover over them, allowing you to see what they actually do.

timonoko10 days ago

Gemini-cli made very good laser cutter methinks. Inkscape drove me nuts. From shape to GCODE directly. SVG considered superfluous.

  https://github.com/timonoko/laser-cutting-contours
imcritic10 days ago

Very cool! I wish more editors would exist as web services, easily solving the cross-platformity that way.

cxr10 days ago

This isn't a web service. It's a browser-based tool that runs entirely on your device. It's published as a static site on GitHub Pages, and ("but"?) everything it's doing is all happening fully in-browser.

imcritic10 days ago

It is a web service. It is just a simple one that doesn't need to execute any stuff on backend/server.

Brian_K_White10 days ago

That makes it a document not a service.

Save the file and run it at will, just like any other local app.

The app runs in an interpreter which is a browser instead of python and a load of libraries, which is no distinction at all.

imcritic9 days ago

I think you are right.

eXpl0it3r10 days ago

I'm in the opposite camp. Give me some local tool that does disappear when the maintainer moves to the next thing.

Well and I can eat the cake as well, make it some native app that has proper performance.

catapart10 days ago

What is the problem with this app's performance?

pcthrowaway10 days ago

> Give me some local tool that does disappear when the maintainer moves to the next thing.

This is open source, so whether or not it's a web app should make no difference here

Brian_K_White10 days ago

It is a local tool. You have what you say you want already.

It just uses a browser as the interpreter environment and super effortless one-click instantaneous install process.

imcritic10 days ago

But it is local, it's just a web service.

nilslindemann10 days ago

Useful! I like that it does not produce crude floating point numbers, but keeps the clean integers.

kmoser10 days ago

I wonder how easy it would be to add a "Save as NAPLPS" option.

doanbactam10 days ago

Does it support converting between line segments and bezier curves smoothly?

pcthrowaway10 days ago

Yes

djfobbz10 days ago

We need a way to define precision of the grid.

kmoser10 days ago

What do you mean? You can change the interval for the tick mark labels.

croisillon10 days ago

cool stuff, the favicon could even replicate the current svg state

gurjeet10 days ago

I tried it in Firefox and Chrome, but changing the SVG shape did not change the favicon displayed on the tab. I don't think I understand what you meant.

PS: This submission of mine is at least a day old, but it now shows as posted about 3 hours ago; I presume this is because it is from the second-chance pool.

AmbroseBierce10 days ago

I think they meant it as a feature suggestion (given that it should be easy to implement since SVG files can be used as favicons).

croisillon10 days ago

yes indeed

maximgeorge10 days ago

[dead]

LuckyBuddy10 days ago

[dead]