yaqwsx/PcbDraw

Convert your KiCAD board into a nicely looking 2D drawing suitable for pinout diagrams

Python

1,437

257 commits

updated Oct 9, 2026

See the code

README

PcbDraw

Convert your KiCad boards into nice looking 2D drawings suitable for pinout diagrams. Never draw them manually again!

example

This tool takes a KiCad board (.kicad_pcb file) and produces a 2D nice looking drawing of the board as an SVG file. This allows you to quickly and automatically create awesome pinout diagrams for your project. These diagrams are much easier to read than a labeled photo of a physical board or an actual KiCad design.

You and your users will love them!

PcbDraw also comes with a small utility called Populate which allows you to easily specify & maintain nice looking HTML or Markdown population manuals.

example

And, also, as a bonus it allows you to programmatically obtain 3D-rendered previews of your boards (e.g., in CI).

Installation

PcbDraw supports KiCad 9 and 10 and is distributed as a Python package pcbdraw. It uses the stable kicad-cli interface and does not depend on KiCad's Python pcbnew module. It also requires Inkscape 1 or librsvg installed. Read more details in the installation guide.

Usage

There are two separate guides:

There are also examples of usage in the examples directory.

PcbDraw seems to be broken!

Please, read FAQ first. If it does not answer your problem, feel free to open issue on GitHub.

Contributing

Feel free to submit issues and pull requests!

Future Work

  • make reasonably complete module library
kicad
pcb
pcb-diagram

yaqwsx/PcbDraw

Convert your KiCAD board into a nicely looking 2D drawing suitable for pinout diagrams

Python

1,437

257 commits

updated Oct 9, 2026

See the code

README

PcbDraw

Convert your KiCad boards into nice looking 2D drawings suitable for pinout diagrams. Never draw them manually again!

example

This tool takes a KiCad board (.kicad_pcb file) and produces a 2D nice looking drawing of the board as an SVG file. This allows you to quickly and automatically create awesome pinout diagrams for your project. These diagrams are much easier to read than a labeled photo of a physical board or an actual KiCad design.

You and your users will love them!

PcbDraw also comes with a small utility called Populate which allows you to easily specify & maintain nice looking HTML or Markdown population manuals.

example

And, also, as a bonus it allows you to programmatically obtain 3D-rendered previews of your boards (e.g., in CI).

Installation

PcbDraw supports KiCad 9 and 10 and is distributed as a Python package pcbdraw. It uses the stable kicad-cli interface and does not depend on KiCad's Python pcbnew module. It also requires Inkscape 1 or librsvg installed. Read more details in the installation guide.

Usage

There are two separate guides:

There are also examples of usage in the examples directory.

PcbDraw seems to be broken!

Please, read FAQ first. If it does not answer your problem, feel free to open issue on GitHub.

Contributing

Feel free to submit issues and pull requests!

Future Work

  • make reasonably complete module library
kicad
pcb
pcb-diagram

Project health

Overall

3.9/10

Maintained

10/10

Code review

1/10
OpenSSF Scorecard

Latest release

1.3.0 · Aug 7, 2026

Releases this year

2

Significant stargazers

Maciej Małecki

625 followers · starred Sep 2024

Unai Martinez-Corral

221 followers · starred Jul 2020

Ulices

24 followers · starred Apr 2024

Sorki

96 followers · starred Dec 2017