PCB Design Rules
Public Made by Adomby adom
Canonical PCB fab design rules (DRC) for every popular vendor: one JSON record per vendor, process and layer count, with generated Fusion/EAGLE .dru and .edru, KiCad .kicad_dru plus board-setup JSON, Altium .RUL exports, and a human comparison table. Every number cites the vendor's own capabilities page and the date it was read.
Contents
README
markdownPCB design rules by fab
The canonical home for PCB fabrication design rules (DRC limits) of every popular vendor, in a form both humans and EDA bridges can consume.
One canonical JSON record per (vendor, process, layer count), generated into:
fusion/<slug>[-<process>]-<n>L.edruand.drufor Autodesk Fusion 360 electronics (EAGLE format, loads with thedrc load <path>command)kicad/<slug>[-<process>]-<n>L.kicad_dru(KiCad custom rules) plus a<same>.board-setup.jsonwith the Board Setup constraintsaltium/<slug>[-<process>]-<n>L.RUL(Altium design rules export, ASCII; not yet import-verified, see Verification)
Everything is generated by tools/generate.py from rules/records/*.json.
To add or fix a limit, edit the record and run python3 tools/generate.py.
rules/index.json maps every (vendor, process, layers) to its files.
Rules of this page
- Source of truth is each vendor's own capabilities page. Every record's
sourceslist names the URL and the date it was read. Nothing is copied from third-party blogs. - Units: mm primary, mil secondary (1 mil = 0.0254 mm).
- Where a vendor publishes a range by condition (copper weight, process
tier, partial-board BGA areas), the condition is recorded in the field's
conditionand innotes. Values are never averaged. n/pbelow means the vendor does not publish that limit.
Vendors
Adom InstaPCB (house baseline, first by design), JLCPCB, PCBWay, OSH Park, Seeed Fusion, Eurocircuits, Aisler, Elecrow, Advanced Circuits (4PCB), Sierra Circuits, MacroFab, NextPCB, ALLPCB.
Per-vendor canonical records with full detail (mask, silk, board thickness
options, copper weights, surface finishes, max board size, notes, sources):
rules/records/<vendor-slug>.json.
Comparison table
All numbers mm / mil as published on the vendor's capabilities page on the read date. Generated from the records, do not edit by hand.
| Vendor | Process | Layers | Min trace mm / mil | Min space mm / mil | Min drill mm / mil | Min via drill / pad mm | Annular ring via / pad mm | Cu to edge mm | Hole to hole mm | Source (read 2026-09-03) | |---|---|---|---|---|---|---|---|---|---|---|---| | Adom InstaPCB | standard | 2 | 0.1 / 3.94 | 0.1 / 3.94 | 0.15 / 5.91 | 0.15 / 0.25 | 0.1 / 0.18 | 0.2 | 0.2 | adom/fusion-bridge addin/AdomBridge/resources/dru/Adom-InstaPCB-2-Layer.edru | | Adom InstaPCB | standard | 4 | 0.09 / 3.54 | 0.09 / 3.54 | 0.15 / 5.91 | 0.15 / 0.25 | 0.1 / 0.18 | 0.2 | 0.2 | adom/fusion-bridge addin/AdomBridge/resources/dru/Adom-InstaPCB-4-Layer.edru | | JLCPCB | standard | 2 | 0.1 / 4.0 | 0.1 / 4.0 | 0.15 / 5.91 | 0.15 / 0.25 | 0.18 / n/p | 0.2 | 0.2 | https://jlcpcb.com/capabilities/pcb-capabilities | | JLCPCB | standard | 4 | 0.09 / 3.5 | 0.09 / 3.5 | 0.15 / 5.91 | 0.15 / 0.25 | 0.15 / n/p | 0.2 | 0.2 | https://jlcpcb.com/capabilities/pcb-capabilities | | JLCPCB | standard | 6 | 0.09 / 3.5 | 0.09 / 3.5 | 0.15 / 5.91 | 0.15 / 0.25 | 0.15 / n/p | 0.2 | 0.2 | https://jlcpcb.com/capabilities/pcb-capabilities | | PCBWay | advanced | 2 | 0.0508 / 2.0 | 0.0508 / 2.0 | 0.15 / 5.91 | 0.15 / 0.3024 | 0.0762 / n/p | 0.2 | 0.3556 | https://www.pcbway.com/advanced-pcb-capabilities.html | | PCBWay | advanced | 4 | 0.0508 / 2.0 | 0.0508 / 2.0 | 0.15 / 5.91 | 0.15 / 0.3024 | 0.0762 / n/p | 0.2 | 0.3556 | https://www.pcbway.com/advanced-pcb-capabilities.html | | PCBWay | advanced | 6 | 0.0508 / 2.0 | 0.0508 / 2.0 | 0.15 / 5.91 | 0.15 / 0.3024 | 0.0762 / n/p | 0.2 | 0.3556 | https://www.pcbway.com/advanced-pcb-capabilities.html | | PCBWay | standard | 2 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.2 / 7.87 | 0.2 / 0.454 | 0.127 / n/p | 0.25 | 0.2794 | https://www.pcbway.com/capabilities.html | | PCBWay | standard | 4 | 0.1016 / 4.0 | 0.127 / 5.0 | 0.2 / 7.87 | 0.2 / 0.454 | 0.127 / n/p | 0.25 | 0.2794 | https://www.pcbway.com/capabilities.html | | PCBWay | standard | 6 | 0.1016 / 4.0 | 0.127 / 5.0 | 0.2 / 7.87 | 0.2 / 0.454 | 0.127 / n/p | 0.25 | 0.2794 | https://www.pcbway.com/capabilities.html | | OSH Park | 2oz-0.8mm | 2 | 0.1524 / 6.0 | 0.1524 / 6.0 | 0.254 / 10.0 | 0.254 / 0.508 | 0.127 / n/p | 0.381 | 0.127 | https://docs.oshpark.com/services/two-layer-hhdc/ | | OSH Park | after-dark | 2 | 0.1524 / 6.0 | 0.1524 / 6.0 | 0.254 / 10.0 | 0.254 / 0.508 | 0.127 / n/p | 0.381 | 0.127 | https://docs.oshpark.com/services/afterdark/ | | OSH Park | flex | 2 | 0.1524 / 6.0 | 0.1524 / 6.0 | 0.254 / 10.0 | 0.254 / 0.508 | 0.127 / n/p | 0.1524 | 0.127 | https://docs.oshpark.com/services/flex/ | | OSH Park | standard | 2 | 0.1524 / 6.0 | 0.1524 / 6.0 | 0.254 / 10.0 | 0.254 / 0.508 | 0.127 / n/p | 0.381 | 0.127 | https://docs.oshpark.com/services/two-layer/ | | OSH Park | standard | 4 | 0.127 / 5.0 | 0.127 / 5.0 | 0.254 / 10.0 | 0.254 / 0.4572 | 0.1016 / n/p | 0.381 | 0.127 | https://docs.oshpark.com/services/four-layer/ | | OSH Park | standard | 6 | 0.127 / 5.0 | 0.127 / 5.0 | 0.2032 / 8.0 | 0.2032 / 0.4064 | 0.1016 / n/p | 0.381 | 0.127 | https://docs.oshpark.com/services/ | | Seeed Fusion | advanced | 2 | 0.127 / 5.0 | 0.127 / 5.0 | 0.1 / 3.94 | 0.1 / 0.3032 | 0.1016 / n/p | n/p | 0.2286 | https://support.seeed.cc/portal/en/kb/articles/fusion-advanced-pcb-specification | | Seeed Fusion | advanced | 4 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.1 / 3.94 | 0.1 / 0.3032 | 0.1016 / n/p | n/p | 0.2286 | https://support.seeed.cc/portal/en/kb/articles/fusion-advanced-pcb-specification | | Seeed Fusion | standard | 2 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.2 / 7.87 | 0.2 / 0.4 | 0.1 / n/p | 0.3 | 0.3 | https://support.seeed.cc/portal/en/kb/articles/fusion-pcb-specification | | Seeed Fusion | standard | 4 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.2 / 7.87 | 0.2 / 0.4 | 0.1 / n/p | 0.3 | 0.3 | https://support.seeed.cc/portal/en/kb/articles/fusion-pcb-specification | | Seeed Fusion | standard | 6 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.2 / 7.87 | 0.2 / 0.4 | 0.1 / n/p | 0.3 | 0.3 | https://support.seeed.cc/portal/en/kb/articles/fusion-pcb-specification | | Eurocircuits | proto | 2 | 0.15 / 5.91 | 0.15 / 5.91 | 0.25 / 9.84 | 0.25 / 0.6 | 0.125 / n/p | 0.25 | 0.25 | https://www.eurocircuits.com/services/pcb-proto/ | | Eurocircuits | proto | 4 | 0.15 / 5.91 | 0.15 / 5.91 | 0.25 / 9.84 | 0.25 / 0.6 | 0.125 / n/p | 0.25 | 0.25 | https://www.eurocircuits.com/services/pcb-proto/ | | Eurocircuits | standard | 2 | 0.1 / 3.94 | 0.1 / 3.94 | 0.1 / 3.94 | 0.1 / 0.4 | 0.125 / n/p | 0.25 | 0.25 | https://www.eurocircuits.com/services/standard-pool/ | | Eurocircuits | standard | 4 | 0.1 / 3.94 | 0.1 / 3.94 | 0.1 / 3.94 | 0.1 / 0.4 | 0.125 / n/p | 0.25 | 0.25 | https://www.eurocircuits.com/services/standard-pool/ | | Eurocircuits | standard | 6 | 0.1 / 3.94 | 0.1 / 3.94 | 0.1 / 3.94 | 0.1 / 0.4 | 0.125 / n/p | 0.25 | 0.25 | https://www.eurocircuits.com/services/standard-pool/ | | Aisler | enig | 2 | 0.125 / 5.0 | 0.125 / 5.0 | 0.25 / 10.0 | 0.25 / 0.45 | 0.1 / n/p | 0.3 | 0.3 | https://community.aisler.net/t/2-layer-1-6mm-enig-design-rules/3732 | | Aisler | enig | 4 | 0.125 / 5.0 | 0.125 / 5.0 | 0.25 / 10.0 | 0.25 / 0.45 | 0.1 / n/p | 0.3 | 0.3 | https://community.aisler.net/t/4-layer-35-m-enig-design-rules/3733 | | Aisler | hasl | 2 | 0.2 / 8.0 | 0.15 / 6.0 | 0.3 / 12.0 | 0.3 / 0.7 | 0.2 / n/p | 0.3 | 0.3 | https://community.aisler.net/t/2-layer-1-6-mm-35-m-hasl-design-rules/3735 | | Elecrow | standard | 2 | 0.1524 / 6.0 | 0.1524 / 6.0 | 0.3 / 11.81 | 0.3 / n/a | n/p | n/p | n/p | https://www.elecrow.com/pcb-manufacturing.html | | Elecrow | standard | 4 | 0.1524 / 6.0 | 0.1524 / 6.0 | 0.3 / 11.81 | 0.3 / n/a | n/p | n/p | n/p | https://www.elecrow.com/pcb-manufacturing.html | | Elecrow | standard | 6 | 0.1524 / 6.0 | 0.1524 / 6.0 | 0.3 / 11.81 | 0.3 / n/a | n/p | n/p | n/p | https://www.elecrow.com/pcb-manufacturing.html | | Sierra Circuits | standard | 2 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.15 / 5.9 | 0.15 / 0.4547 | 0.0254 / n/p | 0.254 | n/p | https://www.protoexpress.com/products/rigid-pcb/ | | Sierra Circuits | standard | 4 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.15 / 5.9 | 0.15 / 0.4547 | 0.0254 / n/p | 0.254 | n/p | https://www.protoexpress.com/products/rigid-pcb/ | | Sierra Circuits | turnkey-pro | 2 | 0.1016 / 4.0 | 0.1016 / 4.0 | n/p | n/p | n/p | n/p | n/p | https://www.protoexpress.com/ | | Sierra Circuits | turnkey-pro | 4 | 0.1016 / 4.0 | 0.1016 / 4.0 | n/p | n/p | n/p | n/p | n/p | https://www.protoexpress.com/ | | MacroFab | extended | 2 | 0.0762 / 3.0 | 0.0762 / 3.0 | 0.1016 / 4.0 | 0.1016 / 0.254 | 0.0762 / n/p | 0.0762 | 0.1524 | https://www.macrofab.com/capabilities/ | | MacroFab | extended | 4 | 0.0762 / 3.0 | 0.0762 / 3.0 | 0.1016 / 4.0 | 0.1016 / 0.254 | 0.0762 / n/p | 0.0762 | 0.1524 | https://www.macrofab.com/capabilities/ | | MacroFab | standard | 2 | 0.127 / 5.0 | 0.127 / 5.0 | 0.3048 / 12.0 | 0.3048 / n/a | n/p | n/p | n/p | https://support.macrofab.com/s/article/pcb-specifications-and-drc | | MacroFab | standard | 4 | 0.127 / 5.0 | 0.127 / 5.0 | 0.3048 / 12.0 | 0.3048 / n/a | n/p | n/p | n/p | https://support.macrofab.com/s/article/pcb-specifications-and-drc | | NextPCB | advanced | 2 | 0.0635 / 2.5 | 0.0635 / 2.5 | 0.15 / 5.91 | 0.075 / n/a | n/p | n/p | n/p | https://www.nextpcb.com/advanced-pcb-manufacturing-capabilities | | NextPCB | standard | 2 | 0.0635 / 2.5 | 0.0762 / 3.0 | 0.15 / 5.91 | 0.2 / 0.3278 | 0.0889 / n/p | 0.2 | 0.3048 | https://www.nextpcb.com/pcb-capabilities | | NextPCB | standard | 4 | 0.0635 / 2.5 | 0.0762 / 3.0 | 0.15 / 5.91 | 0.2 / 0.3278 | 0.0889 / n/p | 0.2 | 0.3048 | https://www.nextpcb.com/pcb-capabilities | | NextPCB | standard | 6 | 0.0635 / 2.5 | 0.0762 / 3.0 | 0.15 / 5.91 | 0.2 / 0.3278 | 0.0889 / n/p | 0.2 | 0.3048 | https://www.nextpcb.com/pcb-capabilities | | ALLPCB | advanced | 2 | 0.076 / 3.0 | 0.076 / 3.0 | 0.15 / 5.91 | 0.2 / 0.5 | 0.18 / n/p | 0.3 | n/p | https://www.allpcb.com/advanced_pcb_manufacturing_capability.html | | ALLPCB | advanced | 4 | 0.076 / 3.0 | 0.076 / 3.0 | 0.15 / 5.91 | 0.15 / 0.25 | 0.18 / n/p | 0.3 | n/p | https://www.allpcb.com/advanced_pcb_manufacturing_capability.html | | ALLPCB | advanced | 6 | 0.076 / 3.0 | 0.076 / 3.0 | 0.15 / 5.91 | 0.15 / 0.25 | 0.18 / n/p | 0.3 | n/p | https://www.allpcb.com/advanced_pcb_manufacturing_capability.html | | ALLPCB | standard | 2 | 0.1 / 3.94 | 0.1 / 3.94 | 0.2 / 7.87 | 0.2 / 0.506 | 0.153 / n/p | 0.3 | 0.2032 | https://www.allpcb.com/standard_pcb_manufacturing_capability.html | | Advanced Circuits (4PCB) | advanced | 2 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.127 / 5.0 | 0.127 / 0.508 | 0.1905 / n/p | 0.2032 | 0.254 | https://www.4pcb.com/pcb-capabilities.html | | Advanced Circuits (4PCB) | advanced | 4 | 0.1016 / 4.0 | 0.1016 / 4.0 | 0.127 / 5.0 | 0.127 / 0.508 | 0.1905 / n/p | 0.2032 | 0.254 | https://www.4pcb.com/pcb-capabilities.html | | Advanced Circuits (4PCB) | advanced-standard | 2 | 0.1397 / 5.5 | 0.1397 / 5.5 | 0.1499 / 5.9 | 0.1499 / 0.5309 | 0.1905 / n/p | 0.254 | 0.3048 | https://www.4pcb.com/pcb-capabilities.html | | Advanced Circuits (4PCB) | advanced-standard | 4 | 0.1397 / 5.5 | 0.1397 / 5.5 | 0.1499 / 5.9 | 0.1499 / 0.5309 | 0.1905 / n/p | 0.254 | 0.3048 | https://www.4pcb.com/pcb-capabilities.html | | Advanced Circuits (4PCB) | development-npi | 2 | 0.0762 / 3.0 | 0.0762 / 3.0 | n/p | n/p | 0.1905 / n/p | 0.127 | 0.2032 | https://www.4pcb.com/pcb-capabilities.html | | Advanced Circuits (4PCB) | standard | 2 | 0.127 / 5.0 | 0.127 / 5.0 | 0.254 / 10.0 | 0.254 / n/a | n/p | n/p | n/p | https://www.4pcb.com/laminate-material-vendors.html | | Advanced Circuits (4PCB) | standard | 4 | 0.127 / 5.0 | 0.127 / 5.0 | 0.254 / 10.0 | 0.254 / n/a | n/p | n/p | n/p | https://www.4pcb.com/laminate-material-vendors.html |
Using the files
Fusion 360 (via the adom fusion bridge):
adom-bridge --target <desktop> send_files '{"filePaths": ["/path/to/jlcpcb-2L.edru"]}'
adom-bridge --target <desktop> fusion_electron_run '{"command": "drc load C:/Users/<user>/Downloads/jlcpcb-2L.edru"}'
adom-bridge --target <desktop> fusion_alerts '{}'
fusion_set_design_rules {fab, layers, druPath?} (proposed verb shape) is
tracked on adom/fusion-bridge; see the issue linked in Verification.
KiCad: copy the .kicad_dru next to your board as
<projectname>.kicad_dru, or import the board-setup.json values into
Board Setup, Constraints. kicad-cli pcb drc and the GUI DRC both enforce
custom rules.
Altium: import the .RUL with Rules, Import. The ASCII export is generated
but not yet verified against a live Altium import; treat the JSON record as
canonical until verified.
Verification
Full dated log with raw outputs: verification/log.md.


All checks ran 2026-09-03. Requested host ConfRoomROG was offline, so verification ran on AdomLapper (real laptop, Fusion 360 trial plus KiCad 10.0).
- Fusion 2026 extension check:
drc loadaccepts.edruand rejects.dru(treats the name as a library.io lookup). The.drufiles are for classic EAGLE, not Fusion. - Fusion
drc loadon a live board: all six 2-layer and 4-layer files for Adom InstaPCB, JLCPCB and PCBWay loaded with success, zero dialogs and emptyfusion_alerts. Exporting the rules after loading pcbway-2L.edru returned exactly the PCBWay 2-layer values from the record. - KiCad DRC with custom rules:
jlcpcb-2L.kicad_druenforced by KiCad 10 DRC, proven by a discriminating with/without test (see log). - Not verified: Altium
.RULimport (no Altium reachable), and ConfRoomROG (offline).
Provenance and maintenance
All records were read from vendor pages on 2026-09-03 except Adom InstaPCB,
whose house rules ship as bundled .edru files inside the adom/fusion-bridge
add-in (no public capabilities page was reachable on 2026-09-03;
https://instapcb.com did not load). Re-read a vendor page before changing
its numbers, and update the dateRead.