SVG Boolean Workbench
Paste two SVG path d values to compute their union, shared fill, or A minus B. Curves are flattened at your chosen tolerance before the browser runs planar polygon clipping. Compare the resulting compound SVG path with its area, separate parts, and holes.
Key features
- Absolute and relative M/L/H/V/C/S/Q/T/Z commands and multiple closed subpaths
- Even-odd nesting for holes and islands within holes
- Union, intersection and A−B with planar canvas-unit areas
- Explicit zero-area tangent result and rejection of self-crossing or touching internal rings
- Copy path d and export a standalone SVG
How to use
- Paste a closed SVG path d in each shape field or load an example.
- Choose union, intersection or A−B and set the curve-flattening tolerance.
- Run the operation and inspect A, B, the result, area and hole count.
- Copy the output path or download an SVG and review it in your artwork.
Use cases
- Merge overlapping icon shapes into one fill
- Cut stencil holes while preserving nested islands
- Understand why a boundary-only tangent has no filled intersection
Frequently asked questions
Why is intersection empty when two paths touch?
Only filled regions with positive area are emitted. Contact along a line or at one point has zero area, so the tool explicitly reports an empty path.
How do I enter a path with a hole?
Put the outer closed subpath and an inner closed subpath in the same field, each starting with M and ending with Z. Even-odd nesting creates holes and islands. Internal rings that touch or cross are rejected.
Can I use self-intersecting paths?
No. Self-crossings, retraced edges, and zero-area contours fail validation before clipping. Simplify the outline first in the SVG path editor.
Are Bézier curves and arcs preserved?
C/S/Q/T curves are flattened to line segments at the chosen tolerance. The output is a straight-line path. A/a arc commands are explicitly unsupported.
Can I paste an entire SVG file?
No. Paste only the d attribute from a path element. Arbitrary SVG markup, transform matrices, masks and stroke expansion are outside this tool.
Privacy
Paths and results are processed in this browser tab. Export uses a local browser download.
Comments & questions