Free migration guide · Updated 26 September 2026
EAGLE to KiCad migration: import, then verify.
Preserve your EAGLE files, import a copy with KiCad, then check the imported board against the original. This guide separates KiCad import steps, manual design checks and BoardPort’s limited comparisons.
How should I verify an EAGLE import into KiCad?
Preserve the EAGLE originals, import a copy with KiCad and save the first imported board before editing. Compare connections, component references, outline and routing with the original, then review KiCad checks and manufacturing outputs separately. Opening a board successfully does not verify the migration.
- Choose the workflow from your files
- KiCad import expects EAGLE XML. With a schematic and board, preserve the pair and project/libraries. With only a board, leave the missing schematic and circuit-level checks unresolved. Do not rename an old binary file to make it XML.
- Where BoardPort fits
- For EAGLE 9.6.2 XML and KiCad 10.0 file-format 20260206, the free checker checks readability; the paid tool adds three defined comparisons and HTML/JSON reports. This support profile is narrower than KiCad import support.
- Evidence to retain
- Keep source and imported files, software versions, import messages, unresolved findings and the next review action. A PASS under a BoardPort rule does not close a DRC or schematic-to-board check.
Prepared by Signal & Ship, the operator of BoardPort Audit. Product scope is checked against the sold reader, authored sample reports and archived public-design files; migration instructions are linked to KiCad 10.0 documentation.
Autodesk ended EAGLE sales and support on 7 June 2026. Keep an accessible copy of your design files when planning their continued use. Autodesk EAGLE notice
No registration is needed. The checklist is a blank text file. The compatibility checker reads files on your device; it does not upload them or compare migration differences.
BEFORE IMPORT
Is this .brd an EAGLE XML board?
The .brd extension alone does not establish compatibility. Inspect a copy in a local text editor without saving changes. The following is an abbreviated, authored example of the structure this product expects.
<?xml version="1.0" encoding="utf-8"?>
<eagle version="9.6.2">
<drawing>
<board>
<!-- board data omitted -->
</board>
</drawing>
</eagle>- Look for readable XML tags: an eagle element and a board inside drawing. A schematic or a library is a different input.
- Read the version on eagle, not the XML declaration. Here, 9.6.2 is the EAGLE version; XML 1.0 is not. BoardPort supports the fixed EAGLE 9.6.2 profile.
- If the text is unreadable or the structure or version is missing or different, treat BoardPort compatibility as unconfirmed. Binary files and other versions are outside this product. Renaming the extension or changing the version text does not convert a file.
Recognizing these markers does not validate the whole XML file or guarantee that KiCad can import it. Preserve the original, import a copy in KiCad, then save the destination as .kicad_pcb. BoardPort does not convert or repair files.
IMPORT WITH KICAD
How to import EAGLE .brd and .sch files into KiCad
KiCad supports importing EAGLE 6.x and later XML projects. That is broader than BoardPort’s EAGLE 9.6.2 comparison profile: a file outside BoardPort’s scope may still be importable with KiCad. KiCad project import documentation
- Make a working copy. Keep the original project, libraries and any existing manufacturing outputs together. Use a separate destination folder and record which files were imported.
- For the complete project: In the KiCad project manager, choose File → Import Non-KiCad Project and the EAGLE option. Keep the .sch and .brd with the same base filename together, then choose the destination folder.
- For a board on its own: Open the PCB Editor and choose File → Import → Non-KiCad Board File. Select the EAGLE file type and your .brd. Review any layer mapping offered and save the result as .kicad_pcb.
Menu names above use the English KiCad 10.0 documentation; labels can differ by language or release. Keep the first saved import before further cleanup. PCB import documentation
Using KiCad 10.0 from the command line
KiCad 10.0 also provides a PCB import command. This example names a new output file and preserves an import report. Run it on a working copy in a folder without these output filenames.
kicad-cli pcb import --format eagle \
--output imported.kicad_pcb \
--report-format json --report-file import-report.json \
source.brdThis is KiCad’s importer. Its import report is separate from a BoardPort comparison report. KiCad 10.0 CLI reference
Schematic, PCB and libraries: decide what you are migrating
A board that opens in KiCad is not a complete migrated project. Inventory the files you have, then choose the matching import path. The following is a planning checklist grounded in KiCad 10.0 project documentation; this article did not execute a schematic or library conversion.
| What you have | Next step | Evidence to keep |
|---|---|---|
| .sch + .brd | Keep the same base filename and import as an EAGLE project from the project manager. Open the resulting project and review the schematic and board together. | Source pair, import messages, .kicad_pro, .kicad_sch and .kicad_pcb. Track unresolved schematic-to-board relationships separately. |
| .brd only | Import with the PCB Editor. This gives you a board to inspect; it does not reconstruct a missing source schematic. | Original board, first saved import, import log and outstanding circuit-level checks. |
| .sch only | KiCad lists EAGLE XML schematics as importable by the Schematic Editor. Plan schematic review separately; there is no before/after board pair for BoardPort. | Imported schematic, unresolved symbols and connections, and the checks needed before PCB work. |
| .lbr / custom parts | Preserve the original libraries. Distinguish opening symbols and footprints embedded in a design from preparing reusable libraries for future edits. Check library names, paths and part assignments before replacing anything. | Source libraries, intended symbol/footprint assignments, local library tables and any missing external assets. |
KiCad stores used symbols and footprints in the schematic and board files, while important design settings also live in .kicad_pro. Keep that project file when transferring a complete design. Library paths and 3D model locations may depend on environment variables; record any external assets needed on another computer. KiCad: project import, file storage, paths and libraries
Before updating a migrated PCB from a schematic, keep a copy and review the proposed additions, removals and net changes. Record reference, pin/pad and footprint assignments that you have not checked. BoardPort does not verify that relationship and a PCB PASS cannot close this task.
AFTER IMPORT
Five items to review before further editing
- Keep both files. Keep the original .brd and the first saved .kicad_pcb together. Note their versions and the import date so later edits are distinguishable.
- Check readability and scope. Use the free compatibility check for the pair. Record unsupported features and warnings; a successful read is not a successful migration audit. Open free compatibility check
- Review connections and references. For a changed pad-to-net mapping or an added or missing reference, compare the intended design with both source files. The example below shows U1 / 2 and U2.
- Inspect outline and routing. Inspect the board outline and routing in KiCad. BoardPort only compares the defined normalized outline topology and routed-segment counts; equal counts do not prove identical routes.
- Keep unresolved checks separate. Record each DIFF and NOT CHECKED with the next action. Run KiCad checks, inspect manufacturing outputs and complete human review separately.
Save these steps as a blank checklist · See what PASS / DIFF / NOT CHECKED mean
DOWNLOADABLE REAL DESIGN
A five-footprint pressure module: from archived import to a traceable difference
This example uses the publicly licensed UCLA locomote Pressure module design. It contains five footprint references and eight connected pads. Download the original EAGLE board, the archived KiCad import and both complete reports without registering or buying BoardPort.
The KiCad 10.0.6 import was recorded on 31 August 2026 at 21:42:40 UTC. On 13 September 2026, we verified the archived file hashes and recomputed the BoardPort reports. We did not rerun KiCad, manufacture the board or test its electrical operation for this article.
| Defined check | Archived import | What this leaves open |
|---|---|---|
| Pad → net | PASS · 8 mappings match | Whether the circuit is electrically correct or routing is physically connected. |
| Footprint references | PASS · PAD1, PAD2, PAD3, PAD4, U1 | Whether footprint shapes, values, orientation and placement match. |
| Outline and routing layers | PASS · F.Cu: 12 · 7.854 × 5.512 mm · 4 closed outline segments | Whether routing geometry, clearance, copper thickness and manufacturing outputs are correct. |
A controlled change makes the limit visible. In a separate copy of the destination, we changed only PAD2 pad 1 from N$3 to N$4. The result becomes 2 PASS / 1 DIFF / 0 NOT CHECKED. Footprint references and outline still pass. This edited copy is a test case, not a defect observed in KiCad’s importer.
Record the revision and the evidence you reviewed
Reproduce the example in a separate folder
- Save the three design files and retain their license notice: EAGLE .brd · archived KiCad import · one-net edited copy · BSD-3-Clause.
- Compare SHA-256 values with the downloadable manifest. The hashes identify these archived files, not every future KiCad export. File hashes and provenance
- For your own import, run KiCad in a folder where the new output names do not exist. Use 10.0.6 when comparing with this archived toolchain; newer versions are a separate experiment.
kicad-cli version
kicad-cli pcb import --format eagle \
--output my-import.kicad_pcb \
--report-format json --report-file my-import-log.json \
source.eagle-9.6.2.brdThe archived KiCad log reports 5 footprints, 12 tracks, 0 vias, 0 zones, no warnings and no errors. This is an import log, not a DRC result. Reimports may generate different identifiers or serialization; compare the design and report findings rather than requiring a byte-identical KiCad file. Archived KiCad log
Open both files in KiCad to inspect PAD2 pad 1. In the EAGLE XML, find signal N$3 and its PAD2 / 1 contactref; in the edited KiCad footprint, the pad net is N$4. Review the original design before accepting or correcting this difference. The free compatibility tool can check whether these files are readable; it does not rerun the full comparison. Full BoardPort recomputation requires the product.
Try the free compatibility check · Save all reproduction instructions · PASS JSON · DIFF JSON
Source: UCLA Networked & Embedded Systems Laboratory, locomote, commit 1e199a9. The original design is used under BSD-3-Clause; the KiCad files are converted derivatives and the one-net file has the change described above. The authors do not endorse BoardPort. This example does not include or validate a schematic or a reusable library. Fixed source revision · Import and license record
CONTROLLED COMPARISON · 17 SEPTEMBER 2026
Move PAD2 by 1 mm: all three checks still PASS
A matching net name is not proof of matching placement. Signal & Ship reran the unchanged BoardPort engine on three versions of the publicly licensed Pressure module. Changing PAD2 pad 1 from N$3 to N$4 produced 1 DIFF. Moving only PAD2’s X coordinate from 1.143 to 2.143 mm produced 3 PASS, just like the archived import. This is a measured limit of the comparison rules, not a KiCad DRC result.
| Input compared with the same EAGLE original | PAD2 / 1 net | PAD2 X / Y (mm) | PASS / DIFF / NOT CHECKED | Raw result |
|---|---|---|---|---|
| A · Archived import | N$3 | 1.143 / −1.016 | 3 / 0 / 0 | A JSON |
| B · One net changed | N$4 | 1.143 / −1.016 | 2 / 1 / 0 | B JSON |
| C · Placement changed by 1 mm | N$3 | 2.143 / −1.016 | 3 / 0 / 0 | C JSON |
The baseline and moved-board findings are identical: eight pad/net mappings, five footprint references, 12 routed F.Cu segments and the four-segment 7.854 × 5.512 mm outline match. The placement edit changes exactly one byte and leaves all track geometry untouched. BoardPort does not compare footprint coordinates; zero NOT CHECKED items means the three supported rules ran, not that every board property was inspected.
Reproduce the edit and inspect the evidence
- In a new folder, save the archived KiCad file and license. Keep the original unchanged. The original import was made with KiCad 10.0.6 on 31 August 2026, not during this experiment. KiCad A · BSD-3-Clause
- Find footprint PAD2, UUID 2be6bf36-1879-4222-b6ec-8e6e9ea9ece3. In a copy, change its outer (at 1.143 -1.016) to (at 2.143 -1.016). Do not change the local pad/text coordinates. The downloadable Python helper checks the input SHA-256 and refuses to overwrite an existing output. Edit helper
- Compare your edited file’s SHA-256 with the manifest and read report C. Full recomputation uses the paid BoardPort product with the same EAGLE original and each KiCad variant. Reading every input/result and reproducing the edit is free; the free compatibility checker only tests readability. Hashes, versions and exact replacement
EAGLE · KiCad B: net edit · KiCad C: placement edit · Save the method and limits
What to do with this result before fabrication
If the net report says DIFF, first locate PAD2 / 1 and establish the intended net from the source. If it says PASS, still inspect the actual footprint position and routing in the reviewed KiCad project. Retain the project/rule version, refill applicable zones, run DRC and investigate its actual findings, then review fabrication outputs. Do not infer any of those outcomes from this comparison.
Scope: one deliberately edited design, not a KiCad importer defect, customer outcome or error-detection rate. The archived generator header is retained to isolate one edit; it does not identify a new KiCad run. No KiCad import/GUI/DRC, schematic test, Gerber generation, manufacturing or electrical test was executed in this experiment. Results use BoardPort 0.1.0-rc.1 and the unchanged engine/rule versions recorded in the manifest. Original authors do not endorse BoardPort.
Method reference: KiCad’s file-format documentation defines at as position/rotation and dimensions in millimeters. This explains the edit; the reports above are the separate executed comparison evidence. KiCad position format
The following synthetic examples use BoardPort-authored synthetic inputs. They demonstrate report output and repeatability, not accuracy on customer boards. Design files are not uploaded.
DRC after migration: keep the source comparison separate
The import log, BoardPort comparison and KiCad DRC answer different questions. Preserve the original and first saved import. Use a review copy with its project and custom rules, and check whether the intended stackup, net classes and clearances transferred.
Run DRC and investigate unconnected items, clearance and zone findings · Review the full pre-fabrication checklist
For each finding, locate the reference, pad/net and layer in both designs and retain the intended source connection. A clean DRC result does not prove that the original EAGLE design was preserved. BoardPort compares only its three defined rules.
The archived Pressure module import log has zero zones. Its BoardPort results do not demonstrate DRC or manufacturing validation. In a separate later KiCad 10.0.6 run, we changed one track width and confirmed that one finding disappeared while 18 remained. That board-only case does not establish zone-refill repair, schematic parity or fabrication acceptance.
COMPLETED RECORD · 22 SEPTEMBER 2026
One finding closed, eighteen left open: what to save
The public Pressure module example was rerun with KiCad CLI 10.0.6. Changing one track from 0.1524 to 0.2 mm removed exactly one default-rule finding: 19 became 18, with no new findings. The filled record keeps the input hashes, versions, raw reports, all eighteen open items and the decision to hold fabrication.
This closes that one finding only. The 0.2 mm value is not a universal fabrication requirement. Five disabled checks, the missing schematic/project settings and the intended fabrication requirements remain open. The first-import BoardPort PASS report is not reused as a report on the later edited board.
- Open the filled record and match its input revision to the raw report. Every unresolved item keeps its type, object UUID and location. Read the completed record · Raw DRC JSON
- Save the example for reference. For your own design, save the blank template under a new name and fill it from your own files; do not copy its reviewed status. Save a blank template
- Leave an owner and next check for each open item. Regenerate DRC and outputs after the next edit; keep the earlier record as the history. Follow this board through output generation
Write a review record on this page
The example is free and needs no registration or upload. It was prepared with AI assistance from retained execution evidence. It is not a customer result or a fabrication approval.
FREE REVIEW NOTES · NO REGISTRATION
Keep your revision, evidence and next check together
Fill this in after reviewing the evidence. If you are practising with the public example, say so in the first field. For your own design, enter your own files and findings; the example’s reviewed status is not inherited.
The import log, three-rule comparison, DRC and fabrication review are separate results. Do not carry PASS from an earlier revision into an edited board.
HOLD — Writing or saving a record does not approve fabrication. Checks you have not performed remain NOT CHECKED.
- Return to source files and complete reports · Read the filled public example. These links stay on this page and retain your entries. Return using the “Write a review record” link.
- Enter the exact input revision, evidence and what remains open. Required fields are marked; missing fields stay visibly unconfirmed in the record.
- Check the resulting text, then copy it or request a local text file. Neither action runs an inspection.
Entries are not sent or automatically saved by this record form. Copy or save before reloading, changing language or leaving the page. The published article and evidence files remain unchanged.
Review the text you will keep
Draft: 7 required fields are empty.
This free form records notes. It does not upload or compare boards, run KiCad DRC, inspect Gerbers or generate paid BoardPort reports.
The supported comparison profile
This release compares EAGLE 9.6.2 XML .brd with KiCad 10.0 .kicad_pcb (validated with 10.0.6). Import using KiCad first: BoardPort does not convert or repair files. Schematics and other versions are outside this release.
Read the three differences in this example
| Check | Authored difference | What to review |
|---|---|---|
| Pad-to-net mapping | U1 / 2: VCC → GND | Compare the intended connection with both source files. |
| Footprint reference set | U2 exists only at the destination. | Check whether the additional reference is intentional. |
| Outline and routing layers | The normalized outline differs. | Inspect the outline and the stated comparison scope. |
A DIFF flags a difference to investigate; it is not an automatic defect verdict. This example does not claim that KiCad normally introduces these changes.
Inspect three kinds of result, free
Choose a sample. No registration or board files are required.
Select a sample to see its interpretation and full report.
Turn one JSON finding into a review action
This is an excerpt from the existing JSON generated from BoardPort-authored synthetic inputs. PAD_NET_MAPPING reports the changed net on U1 pad 2 and the destination-only mapping for U2 pad 1. It does not establish accuracy for your board or normal KiCad import behavior.
{
"checkId": "PAD_NET_MAPPING",
"status": "DIFF",
"summary": "2 pad-to-net difference(s) require review.",
"details": [
"Net changed: U1 pad 2 · EAGLE=VCC · KiCad=GND",
"Destination-only pad mapping: U2 pad 1 → GND"
]
}DIFF means that the differences need review. Compare both files with the intended circuit and record whether each change is intentional, needs correction or remains unresolved. There are two detail entries within this rule; the summary counts one DIFF for PAD_NET_MAPPING.
Read the complete source JSON · Open the same result as HTML
EAGLE to KiCad migration: common questions
Can I import an old binary EAGLE .brd file directly?
The KiCad importer expects EAGLE XML, not the older binary format. Preserve the original and arrange a legitimate XML export from software that can read it. Do not change a filename or version marker to force acceptance. BoardPort’s checker does not convert binary files.
KiCad opens my board. Why does BoardPort say unsupported?
KiCad import support and BoardPort comparison support are different. This BoardPort release expects EAGLE 9.6.2 XML and KiCad 10.0 file-format 20260206, with input size and reader limits. Keep using the KiCad workflow for other inputs; do not purchase this release expecting broader support.
Does the free compatibility checker compare the migration?
It checks whether the two files can be read under the sold product’s profile and identifies detectable limitations. It does not run the three paid comparison rules. Use the free authored reports on this page to inspect how PASS, DIFF and NOT CHECKED are presented before considering purchase. Inspect the sample reports
What should I keep as a migration review record?
Keep the original EAGLE files, the first KiCad import, software versions, import report, DRC findings and a list of reviewed differences. For each open item, record the location, next action and decision. BoardPort can add its HTML and JSON reports for supported file pairs; the blank checklist is useful without purchasing it.
Keep unverified work visible
PASS means a stated rule matched. NOT CHECKED means unsupported, ambiguous, missing or unparsed data prevented a check. Never count it as a pass. Run the appropriate KiCad checks, review manufacturing outputs and apply human design review separately.
BoardPort compares normalized net names, footprint references, normalized outline topology and routed-segment counts within three rules. It does not certify electrical behavior, safety, ERC/DRC, Gerber equivalence or manufacturing suitability.
Reference documentation checked on 9 September 2026: KiCad project manager · KiCad PCB Editor · KiCad CLI · Autodesk EAGLE FAQ
Use the same workflow on your supported files
The purchased offline tool reads your supported files locally and saves HTML/JSON reports. Verified environment: macOS 26.6.2 with Google Chrome 152.0.7977.66. Each file is limited to 16 MiB, the pair to 32 MiB, and a run to 30 seconds.
The Japan offer is US$79 total, paid once in USD, for business use in Japan only, with no additional tax or Japanese qualified invoice. Businesses in the United States, United Kingdom and Australia can use the separate international offer at US$79 plus applicable tax. Software and reports are in English. Check the full delivery and refund terms before purchase.
Sources, scope and article updates
On 22 September we rechecked the saved KiCad 10.0 project documentation (retrieved 11 September) and CLI/tutorial documentation (retrieved 17 September), the sold reader and the public example reports. Documentation was not fetched again that day. The commands in the new output case were executed with installed KiCad 10.0.6.
- EAGLE 6.x+ XML project import, same-name .sch/.brd, project storage and external libraries: KiCad project documentation. BoardPort has a narrower fixed input profile.
- BoardPort 0.1.0-rc.1: EAGLE 9.6.2 and KiCad generator 10.0 / format 20260206; pad/net mapping, reference set, normalized line outline and routed-segment counts. HTML/JSON preserve input hashes and scope. Input files and complete reports · A position change these rules do not detect
- DRC options, exit codes and output commands: KiCad 10.0 CLI. Project review, rules, zone fills and output-layer choices: KiCad 10.0 tutorial.
Claim-to-evidence mapping, versions and limitations (JSON)
The mapping above records the earlier review. Its unverified full-layer display was followed by a separate Gerbonara display supplement on the same nine output files. The original record is retained; native GerbView drill overlay and fabrication acceptance remain unverified. Read the later display review and limits · Supplement: input hashes and display scope (JSON)
Changes to this article
- — Connected the earlier evidence mapping to the later Gerbonara display review and its limits. No new DRC run, display experiment or fabrication approval is claimed.
- — Added an editable review record in English and Japanese. It retains the guide, input revision, evidence, open checks and HOLD boundary in copied or saved notes. Empty fields remain unconfirmed; writing a note does not perform a check.
- — Added a filled review record to connect one confirmed removal and eighteen unresolved findings to their exact files; rechecked the main technical claims. Linked the same-revision output example and the next unresolved checks.
- — Added the executed 19-to-18 DRC case and replay helper; retained the five disabled checks and missing schematic/project conditions.
Prepared with AI assistance by Signal & Ship. Corrections should identify the article section, file/version and the supporting evidence. Correction contact