# pcb2blender: getting a KiCad board into Blender as a finished 3D scene

> pcb2blender is a two part KiCad and Blender workflow that exports a board as a .pcb3d file and imports it into Blender, so a designer can make product renders of a PCB without modelling the board by hand. The importer ships with a PCB shader node setup, and the project targets KiCad 9.0 with Blender 4.5 LTS and 5.1.

**30350n/pcb2blender** — KiCad to Blender 3D model workflow

- Repository: https://github.com/30350n/pcb2blender
- Stars: 792 · Forks: 27
- Language: Python
- License: GPL-3.0
- Published: 2026-10-20 · Updated: 2026-10-20 · Language: en
- Canonical page: https://hysenlabs.com/projects/30350n-pcb2blender

## The problem it removes

The pcb2blender workflow lets you create professionally looking product renders of all your KiCad projects in minutes. The process is to export your board as a .pcb3d file in KiCad, import it into Blender and start creating.

The value proposition is stated in terms of time. It lets you focus all your time on actually composing and lighting an interesting scene, skipping all the boring cleanup work that would be required without it. The cleanup referred to here is the part where a board becomes a presentable object: extruding the board outline, giving the copper a real surface, orienting components so they sit on the right side, and making sure the board is not floating in space at an arbitrary scale.

The second benefit is turnaround. The quick export and import times make it viable to create renders of work in progress boards, or to update them after last minute board revisions, which is the situation where a screenshot workflow would have fallen behind.

The result is a photograph of a real board rather than a rendering of a model of a board, and the images directory in the repository shows a soldered board in a scene, which is the kind of image the project exists to make possible.

## The three step workflow

The usage section is three steps, and they split cleanly between the two applications.

In KiCad, you hit the Export to Blender (.pcb3d) button in pcbnew. In Blender, you import the file through File, then Import, then PCB (.pcb3d). Then you start creating renders.

The .pcb3d format is the contract between the two halves, and it is a deliberate choice to have an intermediate file rather than a live link. It means the KiCad side and the Blender side can be at different versions, and it means the export is fast enough to redo whenever the board changes.

The import appears in Blender's File menu rather than as an operator, which is the normal shape for an add-on that registers an import format. The exporter, by contrast, is a pcbnew button, because exporting is a board-level operation that belongs where the board is open.

The workflow is also honest about what it is not doing for you. Step three is not automated, and the project describes itself as a workflow rather than a tool that produces a finished render. What you get from the tool is a correctly built board in your scene, and the composition, the lighting and the camera are the parts it deliberately leaves to you.

## Installing the two halves

The KiCad exporter installs through the Plugin and Content Manager, under Tools, then Plugin and Content Manager, then Plugins, then pcb2blender. The manual route is to download the pcb2blender_exporter zip from the latest release, unpack the plugins directory from it into the KiCad plugin directory, and rename it to pcb2blender_exporter.

The Blender importer goes through Edit, then Preferences, then Get Extensions, then PCB 3D Importer. The manual route is to download the pcb2blender_importer zip, install it via Edit, then Preferences, then Add-ons, then Install from Disk in the top right menu, and enable it. The README adds a warning in parentheses that you need to install the actual zip file and should not unpack it.

That warning exists because the two installation paths have different expectations, and the plugin manager path takes a package while the manual path takes the archive that the manager would have produced. Getting it wrong produces a Blender that does not list the importer, which is a confusing failure for something that otherwise looks like a missing feature.

The version tags carry both the project version and the host versions, and the release list shows the pattern clearly. v2.17.5-k9.0-b5.1 pairs the project at 2.17.5 with KiCad 9.0 and Blender 5.1, and the earlier tags follow the same shape with their own Blender version suffixes, such as v2.17.4-k9.0-b4.5lts and v2.17.3-k9.0-b4.2lts. The badges confirm the supported range: Blender 4.5 LTS and Blender 5.1, and KiCad 9.0.

## The bundled shader setup and the related projects

The importer does not arrive bare. The PCB Shader node setup this add-on comes with is inspired by the stylized-blender-setup repository by PCB-Arts, and the README gives the link to that repository and to the company behind it.

That is a meaningful detail, because a board in Blender is a set of flat surfaces with no thickness and no surface realism, and what makes a render look like a product photograph is a shader that treats copper as copper and the solder mask as a slightly rough dielectric. Shipping a node setup with the importer means the first render is close to presentable rather than starting from a grey board.

The project also points at two related pieces of work by the same author. The protorack-kicad KiCad library contains all the custom symbols and footprints used for eurorack module development, and the svg2blender workflow exports 2D graphical designs from Inkscape to Blender, mainly intended for front panel designs but usable for other things.

The svg2blender connection explains the name. The name of this project is inspired by the svg2shenzhen Inkscape extension, which is the same idea applied to a PCB manufacturing output, and the shared workflow shape is what makes the pair work together: a tool that produces a machine readable file from a design tool, and an importer that turns that file into geometry.

## How the project is built and tested

The repository splits the two halves into pcb2blender_exporter and pcb2blender_importer directories, with a download_dependencies.py script, a tests directory, a pyproject.toml, a uv.lock and a flake.nix with a flake.lock.

The Python project metadata is short. The name is pcb2blender at version 2.17.5, the dependencies are error-helper, pillow and skia-python, and the Python requirement is pinned hard to 3.13 only, which is the sort of pin that means the project has chosen a specific interpreter rather than a range. The licence expression is GPL-3.0-or-later.

The dev and CI dependency groups share most of their contents, and the CI group drops the heavier development tools while keeping pytest, pytest-blender and requests. The pytest-blender package is the interesting one, since it is what allows the add-on to be tested inside a real Blender rather than against a mock.

The tooling configuration shows the domain. Pyright runs in strict mode with a handful of specific rules downgraded to warnings, and one exclusion for the io_scene_x3d directory inside the importer. Ruff handles linting and formatting with a line length of 100 and LF line endings, and the isort configuration has a custom section order that puts blender imports and pcbnew imports into their own groups, listed explicitly as addon_utils, bpy, bpy_extras, bl_ui, bmesh, mathutils and numpy for Blender, and pcbnew and wx for KiCad. That level of import hygiene is what lets the two halves share one toolchain despite depending on entirely different host applications.

## Where pcb2blender is the wrong choice

The first limitation is what the output is for. A .pcb3d file imported into Blender is a model for rendering, not a mechanical model, and the project never claims otherwise. If you need accurate 3D geometry for a mechanical fit check, a tolerance stack or a collision study against an enclosure, a render-ready board with a stylised shader is the wrong artefact, and a CAD-derived mechanical model is the right one.

The second is the version coupling. The tags carry the project version and both host versions, which tells you the author tracks the KiCad and Blender releases closely, and that also means a Blender or KiCad upgrade can leave you with a plugin that matches neither. The consequence is that a plugin release is not a single decision but three, and a team standardising on a Blender version has to wait for or avoid the matching tag.

The third is the scope of the automation. The workflow handles the board and leaves everything else to you: composition, lighting, camera, and the surrounding scene. That is the right division of labour for someone who wants to make renders, and it is the wrong one for a team that wanted a one-click pipeline producing a consistent set of product images across a catalogue.

The comparison with the alternatives is worth making. Some KiCad workflows export to STEP through third-party tools for mechanical accuracy, and the general Blender to KiCad or CAD round trips do the same job with more geometry fidelity. What pcb2blender does instead is keep the board visual rather than mechanical, and hand you a scene that is already worth lighting. For a marketing render of your board, that is the faster and better-looking route.

## Conclusion

pcb2blender fits a hardware designer who needs presentable renders of a board, and who would rather spend their modelling time on the scene than on the PCB geometry. It does not fit a team that needs a manufacturable 3D output rather than a picture, and it does not fit an electrical engineer checking clearances in 3D. Before installing, note that the two halves are versioned together and the tags carry both the project and the host versions, such as v2.17.5-k9.0-b5.1, so pick a tag matching your KiCad and Blender, and read the manual install steps carefully because the Blender side needs the actual zip file rather than an unpacked directory.

## FAQ

### What does pcb2blender do and what problem does it solve?

It is a KiCad and Blender workflow that exports a board as a .pcb3d file and imports it into Blender, so you can make product renders of a real board without modelling it. The README frames it as letting you spend your time composing and lighting a scene instead of on the cleanup work the board geometry would otherwise need.

### How do I use the pcb2blender workflow?

Three steps: hit the Export to Blender (.pcb3d) button in pcbnew, import the file in Blender via File, then Import, then PCB (.pcb3d), and then start creating renders. The export and import are quick enough to redo after a last minute board revision.

### How do I install the KiCad exporter and the Blender importer?

The exporter installs through Tools, then Plugin and Content Manager, then Plugins, then pcb2blender, or manually by unpacking the plugins directory from the exporter zip into the KiCad plugin directory and renaming it. The importer installs through Edit, then Preferences, then Get Extensions, then PCB 3D Importer, or manually by installing the actual importer zip from disk without unpacking it.

### Which KiCad and Blender versions does pcb2blender support?

The badges list Blender 4.5 LTS, Blender 5.1 and KiCad 9.0, and the release tags carry both host versions alongside the project version, for example v2.17.5-k9.0-b5.1 and v2.17.4-k9.0-b4.5lts, so a plugin release is pinned to a specific combination of host applications.

### Does the pcb2blender importer include rendering setup?

Yes. The PCB Shader node setup the add-on comes with is inspired by the stylized-blender-setup repository by PCB-Arts, which is what gives the imported board a presentable material rather than a flat grey surface. The project is GPLv3 licensed and targets Python 3.13 only.

## Sources

- [30350n/pcb2blender on GitHub](https://github.com/30350n/pcb2blender)
- [Issues](https://github.com/30350n/pcb2blender/issues)
- [License: GPL-3.0](https://github.com/30350n/pcb2blender/blob/master/LICENSE)
- [README](https://github.com/30350n/pcb2blender/blob/master/README.md)
- [Releases](https://github.com/30350n/pcb2blender/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/30350n-pcb2blender
