SVG Open Path Fix: Why a Design Refuses to Cut or Fill
tutorialssvgtroubleshooting

SVG Open Path Fix: Why a Design Refuses to Cut or Fill

September 3, 2026PrintCutCarve Team15 min read

The design opened fine. It previewed fine. Then the job actually started and something refused.

It shows up wearing three different faces. On a laser, you set the layer to fill and the preview comes back hollow, an outline where a solid engrave should be. On a CNC, the CAM software declines to build the toolpath at all, or v-carves your lettering as a shallow scratch with no depth variation instead of the crisp tapered strokes you were after. On a blade cutter, the shape cuts, technically, but it cuts as a line rather than a piece, and weld or slice or Print Then Cut behaves like it cannot work out which side is which.

Same underlying bug every time. Somewhere in that file is a path that does not join back up.

Tip

Short answer: filling, pocketing and v-carving all need the software to know what is inside a shape, and only a closed path defines an inside. A gap of a thousandth of an inch counts as open, and your screen will not show it, because SVG fills an open shape as though the gap were bridged. Find the break, join the endpoints, then re-import.

The screen is lying to you, and it is not a bug

Open an SVG in a text editor and every shape is a <path> element carrying a d attribute, which is a string of drawing commands. M picks up the pen and moves it somewhere. C and L draw curves and lines. And Z closes the current subpath, drawing a straight segment back to wherever that subpath started and marking it as closed.

That last command is the whole story. A subpath that ends in Z is closed. A subpath that just stops is open, and here is the part that catches everyone: it is still open even if its last coordinate is numerically identical to its first. Two points sitting in exactly the same place is not the same thing as a path that joins. The pen arrived back at the start and never declared the loop finished.

So why does it look perfect? Because the SVG specification says that when filling a shape, an open subpath is treated as though it were closed. Your browser, Inkscape, and the preview thumbnail all bridge the gap for rendering purposes and paint the fill anyway. Stroking does not do that; a stroke on an open path ends in caps rather than joining. Which means a design drawn as filled shapes can be riddled with open paths and give you no visual warning at all.

Cutting and CAM software does not get to be that generous. A toolpath is a physical instruction about where material goes away, so "probably a shape" is not good enough. It either has a boundary it can trust or it does not.

What each machine actually does with an open path

The behaviour differs enough by process that the symptom usually tells you which stage failed.

OperationWhat it needsWhat an open path gives you
Laser fill or raster engraveAn interior to sweep the beam acrossHollow outline, skipped shape, or fill that leaks past where the edge should be
Laser line or cut modeJust a path to followUsually works, because a line does not need an inside. This is why the same file can cut fine and refuse to engrave
CNC pocketA boundary to clear inside ofThe operation is refused, or the region it clears is not the region you meant
CNC v-carveTwo opposing sides so it can measure width and derive depthNo width to measure, so it drops to a fixed depth line engraving with no taper
CNC profile cutAn inside and an outside so it can offset to one sideIt cannot tell which side to offset to, so it cuts on the line or errors out
Blade cutterA path to traceCuts as a line. Welds, slices and contour detection get confused because there is no enclosed region

The v-carve row is the one people find least intuitive, so it is worth spelling out. A V-bit cuts a wider groove the deeper it goes, and the CAM software works backwards from that: it measures how wide your artwork is at each point and drops the bit to whatever depth produces that width. Take away the second side of the shape and there is nothing to measure. Our v-carving walkthrough covers the rest of that operation if the carving itself is what you are learning.

Finding the break

Four methods, roughly in order of how fast they are.

Turn the fill off and the stroke on. This is the quickest visual test there is. Select everything, remove the fill, give it a thin stroke, then zoom in and follow the outline. An open path shows its gap immediately, because stroking does not bridge anything. Gaps hide at corners and at the points where a designer stopped one drag and started another, so trace the whole outline rather than glancing at it.

Look for a suspicious straight edge. When a filled shape has a gap, the renderer bridges it with a straight line. So a flat chord slicing across what should be a continuous curve, especially one that appears at only some zoom levels or only in one program, is often the implicit close showing itself. Once you know that tell you start spotting it in listing previews.

Select all the nodes and press join. In Inkscape, switch to the node tool, click the path, press Ctrl+A to select every node in it, then press the join button in the tool control bar. Watch the node count in the status bar. Joining two coincident endpoints merges them into a single node, so if the count drops, you just closed something that was open. If nothing moves, the path was already fine.

Count the commands. This is the definitive test, and it needs nothing but a text editor. Inside each d attribute, every M or m starts a subpath and every Z or z closes one. If a path has more moves than closes, it has open subpaths, full stop. No rendering quirk, no ambiguity, no zoom level to argue about.

That last one is also how we check our own work. Pull apart the Celtic knot circle frame from our knotwork pack and it is four paths carrying 110 subpaths between them, every single one of which ends in a close command. That is not luck. Interlaced knotwork is the worst case for this whole problem, because a knot is a couple of dozen bands weaving over and under each other, and the visual effect depends entirely on each band being a real closed region that can sit in front of or behind its neighbour. Built as open strokes it looks convincing on screen and falls apart the moment a router or a fill pass tries to work out what is solid.

Celtic DesignsCeltic Designs50 designs, commercial license included$3.99

On the machine side, let the software find them. Most laser packages have a command that selects every open shape in the job in one go, and most CAM packages have an open vector check plus a join tool with a tolerance setting. Check your program's documentation for what it calls its version, because the wording varies and the feature is almost always there. Running that check before you build toolpaths turns a twenty minute mystery into a five second answer.

Closing it in Inkscape

Inkscape is free, it edits SVG natively, and it has everything this job needs. If you have never used the node tool before, our Inkscape editing guide covers the tool properly and this section assumes you can find it.

  1. Work on a copy. Duplicate the file first. Closing paths is destructive and you want the original intact if you decide the design needs a retrace instead.

  2. Isolate the path. Click the broken shape with the node tool. If it is buried in a group, double click to step inside, or Alt+click to cycle down through whatever is stacked on top of it.

  3. Select the two endpoints. Click one, then Shift+click the other. If you cannot see them, press Ctrl+A to select every node in the path and let the join operation sort out which ones actually need merging.

  4. Choose the right join. The tool control bar has two of them. Join selected nodes merges the endpoints into a single node, which is what you want when they are sitting on top of each other or a hair apart. Join selected end nodes with a new segment bridges them with a straight line, which is what you want when there is a real distance to cover and a straight edge is acceptable there.

  5. Check what the join did to the shape. Merging averages the two node positions, so a wide gap closed this way pulls the curve slightly out of true. On a large gap, drag one endpoint onto the other with node snapping enabled first, then join, so nothing moves that you did not intend.

  6. Repeat, then verify. Turn the fill back on, zoom in, and run the command count again if you want certainty.

There is a shortcut worth knowing for a shape with several breaks in it: select the path and apply Path then Union. Boolean operations work on filled regions and hand back closed geometry, so a single open path often comes out of a union closed. Two warnings attached. It merges anything overlapping into one shape, which may not be what you want, and it will happily close paths that were deliberately open. Use it on the one problem shape, not on a select all.

If you would rather not install anything, Craftgineer's NodeCraft is a browser based vector editor with real node and path editing, from our sister site. It is free to use and free to export from, and it does need a free account, so sign in first. Saving a project inside it is the part reserved for a paid plan, which starts at $4.99 a month. For opening a file, joining a couple of endpoints and exporting it again, that never comes up.

Where the gaps come from

Knowing the source tells you whether to repair the file or throw it out, and this is the part we can speak to directly, because building cut files is the actual job here.

Auto traced artwork. A tracer follows the boundary between light and dark pixels. Where the source image has a hairline of lighter pixels crossing a black area, a JPEG artifact, a scanned pencil line that faded, the tracer faithfully reproduces the break. You get an outline that looks continuous at fit-to-window and has a two pixel hole in it at 800 percent. A traced file with dozens of these is usually a retrace rather than a repair job, and it tends to arrive with a node count problem attached, which our node bloat guide deals with.

Strokes that were never converted. This is the one that masquerades hardest. A design drawn as stroked lines has no closed geometry anywhere; it is a set of centre lines with a display width attached to them. It looks like a shape and it is not one. The fix is Stroke to Path, which converts the stroke into a real outline with two sides. Be deliberate about it though: on a laser, that outline is now two cut lines rather than one, so it is the right move for something you want to engrave and the wrong move for something you want to cut.

Format round trips. DXF in particular. Depending on the version and the exporter, a shape that left as one closed path can arrive as a pile of separate line and arc entities that merely touch, each one open, each endpoint rounded to whatever precision the exporter used. That is why almost every CAM package ships a join tool with a tolerance: DXF made it necessary.

Editing accidents. Deleting a segment, breaking a path at a node and forgetting to rejoin it, cropping with a destructive boolean and leaving the cut ends loose. Any of these can happen in the last five minutes before you export.

Text that was not flattened. Converting live text to paths gives you closed letter outlines from any normal typeface. Single line engraving fonts are the exception, and a deliberate one, covered below.

The second bug that looks exactly like this one

Worth ruling out, because the symptom overlaps and the fix is completely different.

A letter O has a hole in it. In SVG, that hole is not a separate object sitting on top; it is a second subpath inside the same compound path, and the fill rule decides that the enclosed region is empty. Every closed path in the file, no gaps anywhere, and the shape still behaves correctly.

Now run Break Apart on it. Both subpaths are still closed, so an open path check comes back clean, but the compound relationship is gone. The counter is now its own filled disc sitting on top of the letter. On a laser it engraves solid. On a router it pockets the hole along with everything else. The design looks broken in exactly the way an open path looks broken, and joining nodes will not touch it.

The fix is Path then Combine (Ctrl+K in Inkscape) with both shapes selected, which restores the compound relationship and the hole with it. So when a shape fills where it should be hollow, check the compound structure before you go hunting for gaps.

Ornate crosses run into this constantly, because a pierced cross is mostly counters: the openings inside the knotwork, the negative space in filigree, the gaps that make an arrowhead terminal read as an arrowhead. Get the compound paths wrong and you carve a solid slab.

Cross Designs PackCross Designs Pack67 designs, commercial license included$3.99

When an open path is the correct answer

Closing everything on principle is its own mistake, so here is the honest counterweight.

Open paths are exactly right for anything that is a line rather than a region. Score lines and fold lines on a box or a card. Single line engraving fonts, sometimes called stick fonts, which are drawn as bare strokes precisely so a v-bit or a diamond drag bit follows one pass down the middle of each letter instead of outlining it twice. Pen plotter and drag knife paths. Centreline engraving of any kind. Sketch style hatching where the strokes are meant to read as pencil marks rather than filled slivers.

Close any of those and you wreck them. A single line font that gets closed turns into a set of thin filled ribbons, which a v-carve will then carve as outlines and the letters will look bloated and wrong.

The test is not "is this path closed", it is "does this shape need an inside". Anything that fills, pockets, v-carves or gets cut out as a physical piece needs one. Anything that is a line does not.

About auto close tolerances

Every join tool asks for a tolerance, and it is tempting to type in a big number until the warnings go away.

Most genuine gaps are tiny. Rounding artifacts and tracer noise sit far below anything you could see, and a small tolerance sweeps up nearly all of them without touching your geometry. The risk lives at the other end of the dial. Raise the tolerance far enough and the tool starts joining things that were separate on purpose: two adjacent knotwork bands merging into one, the deliberate gap in a stencil bridge closing up, a score line grabbing the shape it was drawn next to.

Raise it in steps, look at what changed after each one, and stop as soon as the open vector count hits zero. If a large tolerance is the only thing that clears the file, the file has a real problem and the tolerance is hiding it rather than fixing it.

The version of this that never happens

Every fix above is a rescue operation. The alternative is a file that was drawn as closed filled paths from the first stroke, where there was never a pixel boundary to trace, never a stroke to convert, never a DXF round trip to survive.

That is what we build. Every design in our packs is drawn as closed vector geometry with the counters as proper compound paths, which is why it fills in a laser preview without argument and pockets without a CAM warning. It is also why the LightBurn import is boring, which is the highest compliment a cut file gets.

Packs are $3.99, ship as SVG, PNG, JPG, PDF and EPS, and include a commercial license, so the signs and ornaments you cut are yours to sell. If knotwork and pierced designs are where you want to test all of this, the tribal collection is full of interlace that would fall apart if the paths were not right, and the quotes and text collection covers lettering where counters have to survive the trip to the machine.

Designs for this project

Frequently Asked Questions

What is an open path in an SVG?

A path whose outline does not join back to where it started. In the file itself, a closed subpath ends with a close command; an open one just stops. The two look identical on screen because SVG fills an open shape as though the gap were bridged, which is why the problem only shows up at the machine.

Why will my CAM software not pocket or v-carve my design?

Almost always because the vectors are open. Both operations need an unambiguous inside and outside, and a path with a gap in it has neither. Run your CAM program's open vector check, then join the endpoints, either in the CAM software's own join tool or back in Inkscape.

Why does my laser file show as an outline and refuse to fill?

Fill mode sweeps back and forth inside a closed shape. Given an open one it has no interior to sweep, so it either skips the shape or produces something unpredictable. Most laser software has a command that selects every open shape in the job, which finds them faster than hunting by eye.

How do I close an open path in Inkscape?

Switch to the node tool, click the path, press Ctrl+A to select every node, then use the join button in the tool control bar. Coincident endpoints merge into one node. Endpoints with a real distance between them need the join with a new segment button instead, which bridges the gap with a straight line.

Should every path in a cut file be closed?

No. Anything that has to fill, pocket, v-carve or cut out as a piece must be closed. Score lines, fold lines, single line engraving fonts and pen plotter paths are open on purpose, and closing them ruins them. The test is whether the shape needs an inside.

Is it safe to use my software's auto close or join tolerance?

For gaps a fraction of a thousandth wide, yes, and that is what most of them are. Raising the tolerance until everything joins is where it turns dangerous, because at some point the tool starts bridging gaps that were meant to be there. Raise it in small steps and look at the result each time.

Share:

Related Articles

Browse our designs

Thousands of premium SVG designs for Cricut, Silhouette, laser cutters, and more — all with a commercial license included.

Browse Designs