Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Notes: For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.
How to Export ODB++ Files from KiCad: Complete Guide
KiCad 9 introduced native ODB++ export, bringing this powerful manufacturing format to the open-source PCB design community for the first time. Before version 9, KiCad users had to convert Gerber files through third-party CAM software to generate ODB++ output, which added complexity and potential for data loss.
Having worked with KiCad across multiple versions, the native ODB++ export in version 9 represents a significant improvement for professional manufacturing workflows. This guide covers the complete process of exporting ODB++ files from KiCad, including options for users still on older versions.
Understanding ODB++ Support in KiCad
KiCad’s journey to ODB++ support was a long-requested feature that finally arrived in version 9.0. The implementation is based on the ODB++Design Format Specification v8.1, providing compatibility with modern CAM systems.
KiCad Version Comparison
KiCad Version
ODB++ Support
Alternative Methods
KiCad 9.x
Native export
Direct from PCB Editor
KiCad 8.x
Not available
Convert via CAM software
KiCad 7.x
Not available
Convert via CAM software
KiCad 6.x
Not available
Convert via CAM software
KiCad 5.x and earlier
Not available
Convert via CAM software
If you are using KiCad 8 or earlier, you will need to export Gerber files and convert them using third-party software like FAB3000 or CAM350. The process is covered later in this guide.
What KiCad’s ODB++ Export Includes
Data Type
Included
Notes
Copper layers
Yes
All signal and plane layers
Solder mask
Yes
Top and bottom masks
Silkscreen
Yes
Component markings
Board outline
Yes
Edge cuts layer
Drill data
Yes
PTH and NPTH holes
Netlist
Yes
Complete connectivity data
Component placement
Yes
X/Y coordinates and rotation
Layer stackup
Yes
Physical layer ordering
The native export produces a complete ODB++ package containing all information needed for PCB fabrication and assembly.
Exporting ODB++ from KiCad 9
KiCad 9 provides ODB++ export through both the graphical interface and command line.
Step-by-Step GUI Export Process
Open your PCB design in KiCad’s PCB Editor. Before exporting, ensure your design is complete and passes DRC.
Navigate to File → Fabrication Outputs → ODB++. The ODB++ Export dialog opens with configuration options.
Export Dialog Options
Option
Description
Default
Output file
Destination path and filename
Project folder
Precision
Decimal places in coordinates
2
Units
Measurement units
mm
Compression
Output file format
ZIP
Precision Settings
Precision Value
Resolution
Use Case
2
0.01 mm / 0.01 inch
Standard designs
3
0.001 mm / 0.001 inch
Fine-pitch components
4
0.0001 mm / 0.0001 inch
High-precision designs
Higher precision increases file size but provides better accuracy for fine-pitch designs. For most PCBs, the default precision of 2 works correctly.
Compression Options
Format
Extension
Compatibility
ZIP
.zip
Universal compatibility
TGZ
.tgz
Preferred by CAM systems
None
folder
For debugging/inspection
ZIP compression is the default and works with virtually all CAM systems. Select TGZ if your manufacturer specifically requests it, or “None” to generate an uncompressed folder structure for inspection.
Units Selection
Setting
Format
When to Use
mm
Metric
Default, international standard
in
Imperial
US manufacturers preference
Metric (mm) is the default and recommended for most applications. Select imperial (in) only if your manufacturer specifically requires inch-based coordinates.
Completing the Export
After configuring options, click Export to generate the ODB++ output. KiCad creates the output file in your specified location. The process typically completes in seconds for standard designs.
Command Line ODB++ Export
KiCad 9 includes command line interface (CLI) support for ODB++ export, enabling automation and batch processing.
Generate drill files for all hole types (PTH and NPTH).
Step 3: Export Component Placement
Navigate to File → Fabrication Outputs → Component Placement. This creates pick-and-place files with component positions and rotations.
Step 4: Convert Using CAM Software
Several CAM tools can convert Gerber files to ODB++:
Software
License
Notes
FAB3000
Commercial
Full ODB++ support
CAM350
Commercial
Industry standard
GerbView
Commercial
Conversion capability
ViewMate
Free viewer
Limited export
FAB3000 provides a straightforward workflow for KiCad-to-ODB++ conversion. Load your Gerber, drill, and placement files, then export as ODB++.
Verifying ODB++ Output
Always verify exported ODB++ files before sending to manufacturing.
Using ODB++ Viewer
Siemens provides a free ODB++ Viewer for verification:
Feature
Purpose
Layer display
Inspect individual layers
Component view
Verify placement data
Net highlighting
Check connectivity
Measurements
Verify dimensions
Download from odbplusplus.com/design/download/odb-viewer.
Verification Checklist
Check
What to Verify
Layer count
Matches KiCad stackup
Board dimensions
Correct size and shape
Hole count
All drills present
Net names
Connectivity preserved
Component count
All parts included
Positions
Correct X/Y coordinates
Comparing Against Gerber
For critical designs, export both ODB++ and Gerber files from KiCad and compare them in a DFM tool. Any discrepancies indicate potential export issues.
Troubleshooting Common Issues
Several issues can arise during KiCad ODB++ export.
Export Fails or Produces Empty Output
Cause
Solution
No board outline
Define edge cuts layer
Empty design
Verify PCB contains data
Permission issues
Check output folder permissions
Missing Layer Data
Cause
Solution
Layer not enabled
Check layer visibility
Empty layer
Verify layer contains objects
Stackup mismatch
Review board setup
Compression Errors
Some users have reported issues with compressed output via CLI:
Issue
Workaround
“Insufficient permissions”
Export uncompressed, then compress manually
Corrupted archive
Try different compression format
Component Data Missing
Cause
Solution
No footprints placed
Place components on board
Footprint issues
Verify footprints are valid
Missing attributes
Check component properties
Comparing ODB++ and Gerber from KiCad
Understanding when to use each format helps you make the right choice.
Format Comparison
Aspect
ODB++
Gerber + Drill
File count
Single archive
Multiple files
Net data
Included
Requires IPC-356
Component data
Included
Requires placement file
Stackup info
Embedded
Separate documentation
CAM setup time
Faster
Manual layer assignment
Manufacturer support
Growing
Universal
When to Use ODB++
Scenario
Recommendation
Manufacturer requests ODB++
Use ODB++
Complex multilayer boards
ODB++ preferred
Assembly included
ODB++ has placement data
Simple 2-layer boards
Either format works
Manufacturer only accepts Gerber
Use Gerber
Useful Resources
Official Documentation
Resource
URL
KiCad 9 Documentation
docs.kicad.org/9.0
KiCad CLI Reference
docs.kicad.org/9.0/en/cli/cli.html
KiBot Documentation
kibot.readthedocs.io
ODB++ Resources
Resource
Description
ODB++ Viewer
Free viewer from Siemens
ODB++ Specification
Format documentation
ODB++ Design Website
odbplusplus.com
KiCad Community
Resource
URL
KiCad Forums
forum.kicad.info
KiCad GitLab
gitlab.com/kicad
KiCad Discord
Community chat
Conversion Tools
Tool
Source
FAB3000
numericalinnovations.com
CAM350
camtek.com
KiBot
github.com/INTI-CMNB/KiBot
Frequently Asked Questions
Which KiCad version supports native ODB++ export?
KiCad 9.0 is the first version with native ODB++ export capability. This feature was introduced as part of the version 9 release and is based on the ODB++Design Format Specification v8.1. If you are using KiCad 8 or earlier, you must export Gerber files and convert them to ODB++ using third-party CAM software like FAB3000 or CAM350. The native export in KiCad 9 produces complete ODB++ packages including copper layers, drill data, component placement, and netlist information.
How do I access the ODB++ export in KiCad 9?
In the PCB Editor, navigate to File → Fabrication Outputs → ODB++. This opens the export dialog where you can configure precision, units, compression format, and output location. You can also use the command line interface with the command kicad-cli pcb export odb for automated exports. The graphical interface provides the same options as the command line in a more accessible format for interactive use.
What compression format should I use for ODB++ export?
ZIP compression is the default and provides universal compatibility with CAM systems. TGZ (tar gzip) format is preferred by some professional CAM tools like Frontline Genesis but is equally compatible with most systems. Choose “None” to generate an uncompressed folder structure if you need to inspect the raw ODB++ files for debugging purposes. For standard manufacturing submissions, either ZIP or TGZ works correctly with virtually all manufacturers that accept ODB++.
Can I export ODB++ from KiCad 8 or earlier versions?
KiCad 8 and earlier versions do not have native ODB++ export. You must use a two-step process: first export Gerber X2, NC Drill, and Pick-and-Place files from KiCad, then load these into CAM software like FAB3000 and export as ODB++. This indirect method adds an extra step but produces valid ODB++ output. Consider upgrading to KiCad 9 if ODB++ export is important for your workflow, as the native support eliminates the conversion step and potential for data loss.
Do all PCB manufacturers accept ODB++ files from KiCad?
Not all manufacturers accept ODB++ files, though support is growing. Many professional fabricators prefer ODB++ because it reduces their CAM setup time and eliminates layer assignment errors common with Gerber packages. However, some manufacturers, particularly low-cost prototype services, may only accept Gerber files. Always confirm with your manufacturer before submitting ODB++ files. When in doubt, provide both ODB++ and Gerber outputs to ensure compatibility with any manufacturer’s workflow.
ODB++ Export for Specific Manufacturers
Different manufacturers may have specific requirements when accepting ODB++ from KiCad.
Common Manufacturer Requirements
Requirement
Typical Setting
Compression format
ZIP or TGZ
Units
Varies by region
Precision
2-3 decimal places
Board outline
Must be included
Manufacturer Communication
Topic
Action
Format acceptance
Confirm ODB++ support before submission
Version requirements
Ask about specific ODB++ version needs
Additional files
Some may still want Gerber as backup
Stackup validation
Verify layer order matches specification
Always communicate with your manufacturer before first submission to confirm their ODB++ processing capabilities and any specific requirements.
Using KiCad Jobsets for ODB++ Export
KiCad 9 introduced Jobsets, which can automate ODB++ generation along with other outputs.
Creating a Jobset with ODB++
Navigate to File → New → Jobset to create a jobset file. Add ODB++ export along with other fabrication outputs for one-click generation.
Jobset Benefits
Benefit
Description
Consistency
Same settings every export
Automation
Generate all outputs at once
Reusability
Share jobsets across projects
CI/CD integration
Command line execution
Jobsets ensure you generate consistent manufacturing outputs across design revisions without manually configuring each export.
Best Practices for KiCad ODB++ Export
Following consistent practices ensures reliable output.
Before Export
Run DRC to verify design integrity. Ensure board outline is defined on the Edge.Cuts layer. Verify layer stackup is correctly configured in Board Setup. Confirm all components have valid footprints with correct attributes.
During Export
Use default precision (2) unless fine-pitch components require higher values. Select ZIP compression for maximum compatibility. Use metric units (mm) unless your manufacturer specifically requires imperial. Specify a clear output filename that identifies the project and revision.
After Export
Verify output in ODB++ Viewer before sending to manufacturing. Compare layer count and board dimensions against your design. Check that all nets and components appear in the export. Archive the ODB++ output alongside your KiCad project files.
KiCad 9’s native ODB++ export marks a significant milestone for open-source PCB design, bringing professional manufacturing capabilities to the free software community. The feature produces complete, specification-compliant output that manufacturers can process efficiently.
Inquire: Call 0086-755-23203480, or reach out via the form below/your sales contact to discuss our design, manufacturing, and assembly capabilities.
Quote: Email your PCB files to Sales@pcbsync.com (Preferred for large files) or submit online. We will contact you promptly. Please ensure your email is correct.
Notes: For PCB fabrication, we require PCB design file in Gerber RS-274X format (most preferred), *.PCB/DDB (Protel, inform your program version) format or *.BRD (Eagle) format. For PCB assembly, we require PCB design file in above mentioned format, drilling file and BOM. Click to download BOM template To avoid file missing, please include all files into one folder and compress it into .zip or .rar format.