Skip to content


Repository files navigation


Printed circuit board visualization tools for JavaScript

Work in progress

Welcome to tracespace v5! This version of tracespace is still in development, so documentation may not be accurate and package APIs may change without warning.

See the main branch for the current v4 release.


package description
cli version @tracespace/cli Use Gerber/drill files to create an SVG render of a finished PCB from the command line.
core version @tracespace/core Use Gerber/drill files to create an SVG render of a finished PCB in Node.js or the browser.
fixtures version @tracespace/fixtures Sample Gerber/drill files for use as test fixtures.
identify-layers version @tracespace/identify-layers Try to guess Gerber files' layer types based on filenames.
parser version @tracespace/parser Parse Gerber/drill files into abstract syntax trees.
plotter version @tracespace/plotter Plot @tracespace/parser ASTs into image trees.
renderer version @tracespace/renderer Render @tracespace/plotter image trees as SVGs
xml-id version @tracespace/xml-id XML element ID generation and sanitation utilities.


I work on tracespace in my free time, so this roadmap should be taken with several grains of salt. While the new version is in development, pre-production versions of libraries will be periodically released under the next tag in npm.

Issues to fix

The v5 release will attempt to fix / address the following open issues:

  • Handle disagreements between filename type vs parsed type (#49)
  • Reduce number of <use> tags in SVG output (#80)
  • Arc plotting should be more lenient (#82)
  • Operation with non-existent tool should no-op with a warning (#83)
  • Fails to detect units if format spec combined with units spec (#234)
  • clipPath for outline breaks in Firefox if outline has clear layers (#302)
  • gerberParser.parseSync clobbers filetype option (#306)
  • Gerber file starting with newline incorrectly identified as drill file (#307)
  • Generate consistent document size for all layers. (#324)
  • G93 code in drill file rendered as drilled hole (#353)
  • Allow soldermask layer to cover vias in board render (#399)

tracespace in the wild

  • - A Gerber viewer powered by the tracespace libraries
  • - An electronics project sharing site with links to easily buy the required parts
  • - A social site around open source hardware. Enables authors to sell and manufacture their boards.