SpecIO has finally reached version 2 territory! It's been 4+ years of supporting and updating this addon and I refused to rewrite it until I could get past certain import obstacles and provide a nice export capability. The IO in SpecIO was always meant to be for Input Output and now it can live up to its name.
The newest version was tested in Blender 5.1 on mac and PC but I have versions that work in Blender as old as 3.6
Examples of Blender SVG Import vs SpecIO import
| Original | Blender Import | SpecIO |
|
|
|
Examples of Blender SVG Export vs SpecIO Export
| Blender Original | Blender Freestyle SVG Export | SpecIO Export |
|
Additional Import support
- Broader element support — rect, circle, ellipse, line, polyline, polygon, path, g, image, text, and nested groups; Blender's built-in importer handles only basic paths
- Full path command coverage — M, L, H, V, C, S, Q, T, A, Z (including relative variants); smooth quadratic and arc segments are normalized to cubics
- Style-aware import — fill, stroke, stroke-width, stroke-linecap, stroke-linejoin, inherited styles, inline style attributes, CSS style blocks, and display/visibility hidden-element handling
- Separate fill + stroke objects — when a shape needs both, import creates a fill curve plus a synthetic stroke helper object so both are editable independently in Blender
- Gradient reconstruction — linearGradient and radialGradient are rebuilt as Blender node-based materials
- Group hierarchy preservation — SVG nesting maps to Blender collections, preserving original group ids and sibling order across import/export loops
- Raster image import — SVG
elements (file path or embedded data: URI) import as textured Blender planes
- Text import — SVG becomes Blender text objects with position, transform, font-size, and text-anchor alignment
- Z-layering control — per-object or per-layer height offsets to prevent z-fighting on flat imports
Export features
- Camera-projected mesh export — selected mesh objects are projected through the active scene camera into 2D SVG face silhouettes, with painter-order sorting and viewport culling
- Camera color sampling — Eevee renders the scene and samples the final shaded pixel color per face instead of guessing from material settings
- Curve + text export — exports Blender curve splines and text objects (including extruded/beveled text via temporary mesh projection) to SVG elements Managed gradient authoring — assign and edit linearGradient / radialGradient directly on Blender curve materials in the sidebar; exported to SVG defs
- Raster image export — imports image planes export back as embedded data URIs or linked file paths
- Group roundtrip — Blender collections export back to nested SVG elements with the original imported ids
Supported on Discord: https://discord.com/invite/TVg6gyzyGs



