Removed run_tests and pycache
Name updated to "ToothPaste (Paste SVGs)"
Paste SVG content from clipboard into Blender as Grease Pencil, Curves, Text, and Images.
ToothPaste is focused on Blender 4.3+ (Grease Pencil v3) and supports practical SVG copy/paste workflows from:
Paste as Grease Pencil)Paste as Curves)Split into GP Layers)Split layers into objects)FONT objects<image> elements (embedded base64 or valid local paths)Mesh Plane or ReferenceWorld Origin or Cursor)Gradients are supported on a best-effort basis for Grease Pencil fill materials:
Important:
Edit > Preferences > Add-onsInstall...Import-Export: ToothPaste for BlenderView3D > Sidebar (N) > ToothPasteGrease PencilCurves & TextImagesPaste at:Grease PencilPaste as Grease PencilSplit into GP LayersSplit layers into objectsCurves & TextPaste as CurvesImagesPaste Image (Clipboard)Mesh Plane / ReferencePaste at:World Origin / Cursorpath, rect, circle, ellipse, line, polyline, polygon<g><style> blocks (common in Illustrator exports)tspan, advanced typographic layout)No valid SVG layers, text, or image content foundClipboard does not contain valid SVGFailed to create image objectMesh Plane/Reference) and retryblender_manifest.toml excludes non-essential packaging paths (including images/) for cleaner builds.
Paste as CurvesSplit into GP LayersSplit layers into objects with low-level API copy flowMesh Plane / Reference)Fill/Stroke)GPL-3.0-or-later
ToothPaste for Blender provides basic SVG import functionality. However, due to the complexity of the SVG specification and Blender's Grease Pencil architecture, some features are not supported.
<path> - SVG path data<rect> - Rectangles (converted to paths)<circle> - Circles (converted to paths using arcs)<ellipse> - Ellipses (converted to paths using arcs)<line> - Lines (converted to paths)<polyline> - Polylines (converted to paths, open)<polygon> - Polygons (converted to paths, closed)<g> elements are treated as layersid or inkscape:label attributesThe addon does not apply SVG transforms. This includes:
transform="translate(x, y)"transform="rotate(angle)"transform="scale(x, y)"transform="skewX(angle)" / transform="skewY(angle)"transform="matrix(...)"Workaround: Flatten transforms in your SVG editor before copying:
Note: Grease Pencil materials in Blender can be adjusted after import.
<text> elements are not supported<tspan> elements are not supportedWorkaround: Convert text to paths before exporting:
<mask> elements are not imported<clipPath> elements are not imported<defs> definitions are parsed but not appliedWorkaround: Flatten masks/clips in your editor:
<image> elements (embedded or linked) are not supportedxlink:href references are not supported<symbol> definitions are not imported<use> instances are not supportedWorkaround: Expand symbol instances before exporting
viewBox attributes may cause incorrect scalingSimplify before exporting
Convert advanced features to basic paths
Use groups for layers
<g> elementsTest with simple SVGs first
Keep SVG file size reasonable
This addon implements a subset of the SVG 1.1 specification focused on path geometry extraction.
The import relies on Blender's built-in wm.grease_pencil_import_svg operator, which has its own limitations.
If you need support for additional SVG features, please open an issue on the project repository with example SVG files.
<g> group elementsid or inkscape:label attributes on <g> elements