A super simple tool to convert your SVG's to 3D models.
See the codeVecto3d is a free, open-source tool for giving flat SVG artwork depth, material, lighting, and motion. There is nothing to install and no account is required. Uploaded files stay in your browser.
| Section | Controls |
|---|---|
| Geometry | Depth, bevel, thickness, size, and smoothness |
| Material | Presets, roughness, metalness, clearcoat, and a custom color picker |
| Environment | Lighting presets and intensity |
| Display | Background color and bloom intensity |
| Export | Image, 3D model, and recorded animation formats |
| Format | Output |
|---|---|
| PNG | High-resolution still image |
| MP4 | Recorded model rotation |
| GIF | Short looping model rotation |
| STL | Mesh for 3D printing and fabrication workflows |
| GLB | Portable binary 3D model |
| GLTF | Portable JSON-based 3D model |
MP4 and GIF recording use the live WebGL preview. Turn on auto-rotate in the export panel, then choose the speed and duration before recording.
Vecto3d uses Bun as its package manager.
git clone https://github.com/lakshaybhushan/vecto3d.git
cd vecto3d
bun install
bun run dev
Open http://localhost:3000.
Run the checks before opening a pull request:
bun run lint
NODE_ENV=production bun run build
vecto3d/
├── app/
│ ├── page.tsx # Landing and SVG input flow
│ └── edit/page.tsx # 3D editor
├── components/
│ ├── edit/ # Editor controls and export panel
│ ├── previews/ # Three.js model and preset previews
│ └── ui/ # Shared interface primitives
├── hooks/ # Browser and device hooks
├── lib/
│ ├── exporters.ts # PNG and 3D export helpers
│ ├── video-recorder.ts # MP4 and GIF recording
│ ├── store.ts # Editor state
│ └── svg-sanitizer.ts # SVG validation and sanitization
├── public/ # Logos, workers, and texture assets
└── styles/ # Global styles
SVG processing and editing happen locally in the browser. The current file is kept in session storage so it can move from the landing page into the editor without being uploaded.
Chrome and Firefox are recommended. Safari can have WebGL rendering and performance issues, so the editor shows a warning before continuing.
Issues and pull requests are welcome. Read CONTRIBUTING.md before getting started.
Vecto3d is available under the MIT License.
Made by @blakssh.
3,918 followers · starred Apr 2025
605 followers · starred Mar 2025
1,266 followers · starred May 2025
446 followers · starred Mar 2025
A super simple tool to convert your SVG's to 3D models.
See the codeVecto3d is a free, open-source tool for giving flat SVG artwork depth, material, lighting, and motion. There is nothing to install and no account is required. Uploaded files stay in your browser.
| Section | Controls |
|---|---|
| Geometry | Depth, bevel, thickness, size, and smoothness |
| Material | Presets, roughness, metalness, clearcoat, and a custom color picker |
| Environment | Lighting presets and intensity |
| Display | Background color and bloom intensity |
| Export | Image, 3D model, and recorded animation formats |
| Format | Output |
|---|---|
| PNG | High-resolution still image |
| MP4 | Recorded model rotation |
| GIF | Short looping model rotation |
| STL | Mesh for 3D printing and fabrication workflows |
| GLB | Portable binary 3D model |
| GLTF | Portable JSON-based 3D model |
MP4 and GIF recording use the live WebGL preview. Turn on auto-rotate in the export panel, then choose the speed and duration before recording.
Vecto3d uses Bun as its package manager.
git clone https://github.com/lakshaybhushan/vecto3d.git
cd vecto3d
bun install
bun run dev
Open http://localhost:3000.
Run the checks before opening a pull request:
bun run lint
NODE_ENV=production bun run build
vecto3d/
├── app/
│ ├── page.tsx # Landing and SVG input flow
│ └── edit/page.tsx # 3D editor
├── components/
│ ├── edit/ # Editor controls and export panel
│ ├── previews/ # Three.js model and preset previews
│ └── ui/ # Shared interface primitives
├── hooks/ # Browser and device hooks
├── lib/
│ ├── exporters.ts # PNG and 3D export helpers
│ ├── video-recorder.ts # MP4 and GIF recording
│ ├── store.ts # Editor state
│ └── svg-sanitizer.ts # SVG validation and sanitization
├── public/ # Logos, workers, and texture assets
└── styles/ # Global styles
SVG processing and editing happen locally in the browser. The current file is kept in session storage so it can move from the landing page into the editor without being uploaded.
Chrome and Firefox are recommended. Safari can have WebGL rendering and performance issues, so the editor shows a warning before continuing.
Issues and pull requests are welcome. Read CONTRIBUTING.md before getting started.
Vecto3d is available under the MIT License.
Made by @blakssh.
3,918 followers · starred Apr 2025
605 followers · starred Mar 2025
1,266 followers · starred May 2025
446 followers · starred Mar 2025