Eagle
Introduction
Autodesk Eagle (formerly CadSoft Eagle) is an EDA tool that stores schematics, board layouts, and component libraries in XML files. Prior to version 6.0, Eagle used a proprietary binary format; version 6.0 and later switched to the XML format documented here. KiCad’s importer only accepts XML-format files and rejects binary-format files from earlier versions.
Supported file extensions:
| Extension | Content |
|---|---|
|
Schematic |
|
Board / PCB layout |
|
Library (symbols, packages, and device sets) |
All three file types share the same top-level XML schema. The root element is always <eagle>
with a version attribute, containing a single <drawing> element whose content varies by
file type. The format is defined by an internal DTD (eagle.dtd) that ships with Eagle (typically
found in the Eagle installation directory) but is not embedded in the XML files themselves.
XML Document Structure
Every Eagle XML file follows the same top-level structure:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="9.6.2"> (1)
<compatibility> (2)
<note version="6.0" severity="warning">...</note>
</compatibility>
<drawing> (3)
<settings>...</settings> (4)
<grid .../> (5)
<filters>...</filters> (6)
<layers> (7)
<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
...
</layers>
<!-- exactly one of: <schematic>, <board>, or <library> -->
<schematic>...</schematic> (8)
</drawing>
</eagle>
| 1 | Root element. The version attribute is formatted as major.minor.patch despite the DTD
declaring it as %Real. |
| 2 | Optional compatibility notes. Each <note> carries the Eagle version that introduced the
incompatibility and a severity (warning or error). |
| 3 | The <drawing> container holds all visual and electrical content. |
| 4 | Optional <settings> with font and text direction preferences. |
| 5 | Optional <grid> defining the editor grid configuration. |
| 6 | Optional <filters> with named filter expressions. |
| 7 | Required <layers> section defining all available layers. |
| 8 | Exactly one of <schematic>, <board>, or <library> appears here, depending on
the file type. |
Element Tree Overview
eagle
+-- compatibility?
| +-- note*
+-- drawing
+-- settings?
| +-- setting*
+-- grid?
+-- filters?
| +-- filter*
+-- layers
| +-- layer*
+-- schematic | board | library (exactly one)
Layer Definitions
The <layers> section appears in every Eagle file. Each <layer> element maps a numeric layer
ID to a name, display color, and fill pattern.
<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Integer layer ID |
|
|
yes |
Human-readable layer name |
|
|
yes |
Display color index |
|
|
yes |
Fill pattern index |
|
|
no |
Layer visibility (default |
|
|
no |
Layer active state (default |
Board Layer Number Table
The following table shows Eagle’s fixed layer numbers, their canonical names, and the default KiCad layer each maps to during import.
| Eagle # | Eagle Name | KiCad Layer |
|---|---|---|
1 |
Top |
F.Cu |
2 |
Route2 |
In1.Cu |
3 |
Route3 |
In2.Cu |
4-14 |
Route4-Route14 |
In3.Cu through In13.Cu |
15 |
Route15 |
In14.Cu |
16 |
Bottom |
B.Cu |
17 |
Pads |
(multi-layer pad handling) |
18 |
Vias |
(multi-layer via handling) |
19 |
Unrouted |
Dwgs.User |
20 |
Dimension |
Edge.Cuts (required mapping) |
21 |
tPlace |
F.SilkS |
22 |
bPlace |
B.SilkS |
23 |
tOrigins |
(not mapped) |
24 |
bOrigins |
(not mapped) |
25 |
tNames |
F.SilkS |
26 |
bNames |
B.SilkS |
27 |
tValues |
F.Fab |
28 |
bValues |
B.Fab |
29 |
tStop |
F.Mask |
30 |
bStop |
B.Mask |
31 |
tCream |
F.Paste |
32 |
bCream |
B.Paste |
33 |
tFinish |
F.Mask |
34 |
bFinish |
B.Mask |
35 |
tGlue |
F.Adhes |
36 |
bGlue |
B.Adhes |
37 |
tTest |
UNDEFINED_LAYER |
38 |
bTest |
UNDEFINED_LAYER |
39 |
tKeepout |
F.CrtYd |
40 |
bKeepout |
B.CrtYd |
41 |
tRestrict |
(keepout zone on F.Cu) |
42 |
bRestrict |
(keepout zone on B.Cu) |
43 |
vRestrict |
(keepout zone on all Cu) |
44 |
Drills |
(not mapped) |
45 |
Holes |
UNDEFINED_LAYER |
46 |
Milling |
UNDEFINED_LAYER |
47 |
Measures |
(not mapped) |
48 |
Document |
Cmts.User |
49 |
ReferenceLC |
Cmts.User |
50 |
ReferenceLS |
Cmts.User |
51 |
tDocu |
F.Fab |
52 |
bDocu |
B.Fab |
91 |
Nets |
(schematic only) |
92 |
Busses |
(schematic only) |
93 |
Pins |
(schematic only) |
94 |
Symbols |
(schematic only) |
95 |
Names |
(schematic only) |
96 |
Values |
(schematic only) |
97 |
Info |
(schematic only) |
98 |
Guide |
(schematic only) |
160 |
UserLayer1 |
Eco1.User |
161 |
UserLayer2 |
Eco2.User |
Layers 37 (tTest), 38 (bTest), 45 (Holes), and 46 (Milling) are mapped to
UNDEFINED_LAYER, meaning content on these layers may be lost during import.
The interactive layer re-mapping dialog allows the user to override all non-required
default mappings.
|
Schematic Format (.sch)
A schematic file contains a <schematic> element inside <drawing>.
Schematic Element Hierarchy
schematic
+-- description?
+-- libraries?
| +-- library* (embedded library definitions)
+-- attributes?
| +-- attribute* (global schematic attributes)
+-- variantdefs?
| +-- variantdef*
+-- classes?
| +-- class*
+-- modules?
| +-- module* (hierarchical module definitions)
+-- groups?
| +-- schematic_group*
+-- parts?
| +-- part* (component instances)
+-- sheets?
| +-- sheet*
+-- errors?
+-- approved*
<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R"> (1)
<libraries>...</libraries>
<parts>
<part name="R1" library="rcl" deviceset="R-US_" device="0805"
technology="" value="10k"/> (2)
</parts>
<sheets>
<sheet>...</sheet> (3)
</sheets>
</schematic>
| 1 | Optional cross-reference label format strings. |
| 2 | Each <part> references a library, device set, and device to fully identify a component. |
| 3 | Sheets contain the graphical and electrical content. |
Part Element (<part>)
A part is the fundamental component reference in the schematic. It links to a library’s device set and selects a specific device variant and technology.
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Reference designator (e.g. |
|
|
yes |
Name of the containing library |
|
|
no |
URN for online/managed libraries |
|
|
yes |
Device set name within the library |
|
|
yes |
Specific device (package variant) name |
|
|
no |
3D package URN |
|
|
no |
Override 3D package URN |
|
|
no |
Override package URN |
|
|
no |
Whether package was locally modified |
|
|
no |
Technology variant (default |
|
|
no |
Component value |
Child elements: <attribute>*, <variant>*, <spice>?
Instance Element (<instance>)
Instances place a specific gate of a part on a sheet.
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Reference to a |
|
|
yes |
Gate name within the device set |
|
|
yes |
X position in mm |
|
|
yes |
Y position in mm |
|
|
no |
Whether attribute text is detached (default |
|
|
no |
Rotation (default |
Child elements: <attribute>*
Gate Element (<gate>)
Gates define how a device set’s symbol units are named and placed.
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Gate name (e.g. |
|
|
yes |
Symbol name from the library |
|
|
yes |
X offset in the device set editor |
|
|
yes |
Y offset in the device set editor |
|
|
no |
When this gate is added (default |
|
|
no |
Swap level for gate swapping (default |
The addlevel values control when a gate appears:
| Value | Meaning |
|---|---|
|
Always placed when component is added |
|
Can be added but is not placed automatically |
|
Added with the next available unit |
|
Only added when explicitly requested |
|
Always present, cannot be removed |
Device Set Element (<deviceset>)
A device set groups related gates and maps them to package variants.
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Device set name |
|
|
no |
URN identifier |
|
|
no |
Local modification flag |
|
|
no |
Reference prefix (e.g. |
|
|
no |
Whether user can edit the value |
|
|
no |
Managed library version |
|
|
no |
Whether library copy was modified |
Child elements: <description>?, <gates>, <devices>, <spice>?
Connect Element (<connect>)
Connects map schematic symbol pins to physical package pads.
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Gate name |
|
|
yes |
Pin name in the symbol |
|
|
yes |
Pad name(s) in the package (space-separated for multi-pad) |
|
|
no |
Routing constraint (default |
Sheet Element (<sheet>)
sheet
+-- description?
+-- plain? (graphical-only elements)
+-- moduleinsts? (hierarchical module instances)
+-- instances? (component gate placements)
+-- busses?
| +-- bus*
| +-- segment*
+-- nets?
+-- net*
+-- segment*
Each sheet’s <nets> section contains net connectivity. A <net> contains <segment>
elements, each of which holds the wires, junctions, labels, pin references, and port
references that define a contiguous piece of the net.
Segment Element (<segment>)
segment +-- pinref* (only valid in <net> context) +-- portref* (module port references) +-- wire* +-- junction* +-- label* +-- probe*
Module Element (<module>)
Modules implement Eagle’s hierarchical design capability. A module defines its own parts,
sheets, and ports, and is instantiated via <moduleinst> elements on a parent sheet.
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Module name |
|
|
no |
Reference prefix for parts inside |
|
|
yes |
Module rectangle width |
|
|
yes |
Module rectangle height |
Child elements: <description>?, <ports>?, <variantdefs>?, <groups>?, <parts>?,
<sheets>?
Port Element (<port>)
Ports define the interface pins of a module.
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Port name |
|
|
yes |
Side of module rectangle ( |
|
|
yes |
Position along the specified side |
|
|
no |
Electrical direction (default |
The DTD incorrectly defines side as an integer. In practice it is a string with
values "top", "bottom", "left", and "right".
|
Pin Direction Values
Eagle pin and port directions are string values mapped to electrical types during import.
| Eagle Value | Meaning | KiCad Pin Type |
|---|---|---|
|
Input |
|
|
Output |
|
|
Bidirectional (default) |
|
|
Open collector |
|
|
Passive |
|
|
High impedance / tri-state |
|
|
Power supply |
|
|
Power supply (alternate) |
|
|
Not connected |
|
Board Format (.brd)
A board file contains a <board> element inside <drawing>.
Board Element Hierarchy
board
+-- description?
+-- plain? (graphical elements not in any signal)
+-- libraries?
| +-- library*
+-- attributes?
+-- variantdefs?
+-- classes? (net classes with clearance rules)
| +-- class*
+-- designrules? (manufacturing constraints)
| +-- param*
+-- autorouter?
+-- elements? (component placements)
| +-- element*
+-- signals? (copper connectivity)
+-- signal*
+-- contactref*
+-- wire*
+-- via*
+-- polygon*
Element (Component Placement)
The <element> is the board-level equivalent of a schematic <part> combined with placement
information.
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Reference designator |
|
|
yes |
Source library name |
|
|
no |
Online library URN |
|
|
yes |
Package (footprint) name |
|
|
no |
3D model URN |
|
|
no |
Override 3D model URN |
|
|
no |
Override package URN |
|
|
no |
Local modification flag |
|
|
yes |
Component value |
|
|
yes |
X position in mm |
|
|
yes |
Y position in mm |
|
|
no |
Placement lock (default |
|
|
no |
Assembly populate flag (default |
|
|
no |
Text detached from footprint (default |
|
|
no |
Rotation (default |
Child elements: <attribute>*, <variant>*
Signal Element
A <signal> represents a net on the board. It contains routed copper, vias, and polygon
pours.
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Net name |
|
|
no |
Net class number (default |
Child elements: <contactref>*, <wire>*, <via>*, <polygon>*
Net Class Element (<class>)
Net classes define default trace widths, drill sizes, and inter-class clearance rules.
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Class number (0 is the default class) |
|
|
yes |
Class name |
|
|
no |
Default trace width (default |
|
|
no |
Default drill size (default |
Each <class> may contain <clearance> child elements specifying minimum clearance to
other net classes:
<class number="1" name="Power" width="0.3" drill="0.4">
<clearance class="0" value="0.2"/>
<clearance class="1" value="0.25"/>
</class>
KiCad writes inter-class clearance rules to a .kicad_dru custom design rules file
because KiCad’s native net class model does not support per-pair clearance overrides.
|
Design Rules
Design rules appear as <param> elements within <designrules>. Each parameter is a
name/value pair. The KiCad importer parses the following subset:
<designrules name="default">
<param name="psElongationLong" value="100"/>
<param name="mvStopFrame" value="1"/>
...
</designrules>
| Parameter Name | Default | Description |
|---|---|---|
|
|
Pad elongation for "long" shape, percent over 100% |
|
|
Hole offset within elongated pad |
|
|
Solder mask expansion, percent of smaller pad dimension |
|
|
Solder paste shrink, percent of smaller pad dimension |
|
|
Minimum solder mask expansion |
|
|
Maximum solder mask expansion |
|
|
Minimum solder paste shrink |
|
|
Maximum solder paste shrink |
|
(undef) |
Top pad shape override (integer shape enum) |
|
(undef) |
Bottom pad shape override |
|
(undef) |
First pad shape override |
|
|
SMD pad corner rounding, percent |
|
|
Minimum corner rounding radius |
|
|
Maximum corner rounding radius |
|
|
Through-hole pad annulus, ratio of drill diameter |
|
|
Minimum pad annulus |
|
|
Maximum pad annulus |
|
|
Via annulus, ratio of drill diameter |
|
|
Minimum via annulus |
|
|
Maximum via annulus |
|
|
Minimum wire-to-wire spacing |
Many additional design rule parameters exist in Eagle files (e.g. rlMinViaInner,
msWidth, mdPadVia, mdCopperDimension) but are not currently parsed by the
KiCad importer.
|
Library Format (.lbr)
Library files use the same top-level XML schema as schematics and boards. The <drawing>
element contains a <library> element instead of <schematic> or <board>.
Library Element Hierarchy
library
+-- description?
+-- packages?
| +-- package* (footprint definitions)
+-- packages3d?
| +-- package3d* (3D model references)
+-- symbols?
| +-- symbol* (schematic symbol definitions)
+-- devicesets?
+-- deviceset* (component definitions linking symbols to packages)
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Library name (only meaningful inside boards/schematics) |
|
|
no |
URN for online/managed libraries |
Libraries embedded within .sch or .brd files appear inside a <libraries> container
and carry a name attribute. Standalone .lbr files omit the name.
Package Element
A <package> defines a physical footprint.
package +-- description? +-- polygon* +-- wire* +-- text* +-- dimension* +-- circle* +-- rectangle* +-- frame* +-- hole* +-- pad* (through-hole pads) +-- smd* (surface mount pads)
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Package name |
|
|
no |
URN identifier |
|
|
no |
Local modification flag |
|
|
no |
Managed library version |
|
|
no |
Library local modification flag |
Symbol Element
A <symbol> defines a schematic symbol.
symbol +-- description? +-- polygon* +-- wire* +-- text* +-- dimension* +-- pin* +-- circle* +-- rectangle* +-- frame*
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Symbol name |
|
|
no |
URN identifier |
|
|
no |
Local modification flag |
|
|
no |
Managed library version |
|
|
no |
Library local modification flag |
Common Elements
The following element types are shared across schematics, boards, and libraries.
Wire (<wire>)
Wires represent line segments, arcs (when curve is nonzero), and net connections.
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Start X coordinate |
|
|
yes |
Start Y coordinate |
|
|
yes |
End X coordinate |
|
|
yes |
End Y coordinate |
|
|
yes |
Line width |
|
|
yes |
Layer number |
|
|
no |
Only applicable for airwires |
|
|
no |
Line style (default |
|
|
no |
Arc curvature in degrees, range -359.9..359.9 (default |
|
|
no |
Line cap style (default |
Wire style values: continuous, longdash, shortdash, dashdot
Wire cap values: flat, round (cap only applies when curve is nonzero)
Circle (<circle>)
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Center X |
|
|
yes |
Center Y |
|
|
yes |
Radius |
|
|
yes |
Line width (0 = filled) |
|
|
yes |
Layer number |
Rectangle (<rectangle>)
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
First corner X |
|
|
yes |
First corner Y |
|
|
yes |
Opposite corner X |
|
|
yes |
Opposite corner Y |
|
|
yes |
Layer number |
|
|
no |
Rotation (default |
Text (<text>)
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Anchor X position |
|
|
yes |
Anchor Y position |
|
|
yes |
Font height |
|
|
yes |
Layer number |
|
|
no |
Font type (default |
|
|
no |
Stroke width as percent of height (default |
|
|
no |
Rotation (default |
|
|
no |
Text alignment (default |
|
|
no |
Line spacing percent (default |
Font values: vector, proportional, fixed
Alignment values: bottom-left, bottom-center, bottom-right, center-left, center,
center-right, top-left, top-center, top-right
Polygon (<polygon>)
Polygons are used for copper pours (in signals) and graphical shapes (in packages and schematics).
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Outline width |
|
|
yes |
Layer number |
|
|
no |
Hatch spacing (for hatch pour) |
|
|
no |
Pour type (default |
|
|
no |
Isolation gap (only in signal/package context) |
|
|
no |
Keep orphan copper islands (default |
|
|
no |
Use thermal relief (default |
|
|
no |
Pour priority: 1-6 in signal, 0 or 7 in package (default |
Pour type values: solid, hatch, cutout
Child elements: <vertex>*
| Eagle rank and KiCad priority are inversely related. In Eagle, lower-rank polygons have higher pour priority; in KiCad, higher-priority zones take precedence. |
Vertex (<vertex>)
Vertices define the corners of polygons and splines.
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
X coordinate |
|
|
yes |
Y coordinate |
|
|
no |
Arc curvature to next vertex, -359.9..359.9 (default |
Dimension (<dimension>)
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
First reference point X |
|
|
yes |
First reference point Y |
|
|
yes |
Second reference point X |
|
|
yes |
Second reference point Y |
|
|
yes |
Text/leader position X |
|
|
yes |
Text/leader position Y |
|
|
yes |
Layer number |
|
|
no |
Dimension type (default |
|
|
no |
Line width (default |
|
|
no |
Extension line width (default |
|
|
no |
Extension line length (default |
|
|
no |
Extension line offset (default |
|
|
yes |
Dimension text size |
|
|
no |
Text stroke ratio (default |
|
|
no |
Display unit (default |
|
|
no |
Decimal places (default |
|
|
no |
Show dimension value (default |
Pin (<pin>)
Pins appear in symbol definitions.
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Pin name |
|
|
yes |
Pin endpoint X |
|
|
yes |
Pin endpoint Y |
|
|
no |
What to display (default |
|
|
no |
Pin stub length (default |
|
|
no |
Electrical direction (default |
|
|
no |
Pin function (default |
|
|
no |
Swap level (default |
|
|
no |
Rotation (default |
Pin visible values: off, pad, pin, both
Pin length values: point, short, middle, long
Pin function values: none, dot, clk, dotclk
Through-Hole Pad (<pad>)
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Pad name |
|
|
yes |
X position |
|
|
yes |
Y position |
|
|
yes |
Drill diameter |
|
|
no |
Pad diameter (default |
|
|
no |
Pad shape (default |
|
|
no |
Rotation (default |
|
|
no |
Generate solder mask opening (default |
|
|
no |
Use thermal relief (default |
|
|
no |
First pad flag for shape override (default |
Pad shape values: square, round, octagon, long, offset
SMD Pad (<smd>)
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Pad name |
|
|
yes |
X position |
|
|
yes |
Y position |
|
|
yes |
Width |
|
|
yes |
Height |
|
|
yes |
Layer (1 = Top, 16 = Bottom) |
|
|
no |
Corner rounding percent (default |
|
|
no |
Rotation (default |
|
|
no |
Generate solder mask (default |
|
|
no |
Use thermal relief (default |
|
|
no |
Generate solder paste (default |
Via (<via>)
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
X position |
|
|
yes |
Y position |
|
|
yes |
Layer span (e.g. |
|
|
yes |
Drill diameter |
|
|
no |
Outer diameter (default |
|
|
no |
Via shape (default |
|
|
no |
Force solder mask opening (default |
The extent attribute is formatted as "startLayer-endLayer" using layer IDs,
e.g. "1-16" for a through-hole via from Top to Bottom, "1-2" for a blind via from
Top to Route2.
Hole (<hole>)
Non-plated holes.
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
X position |
|
|
yes |
Y position |
|
|
yes |
Drill diameter |
Attribute (<attribute>)
Attributes are key-value pairs attached to parts, instances, elements, or technologies.
An Eagle <attribute> XML element is distinct from an XML attribute on an element.
The <attribute> is a full child element with its own position, size, and display
properties.
|
| Attribute | Type | Required | Description |
|---|---|---|---|
|
|
yes |
Attribute name |
|
|
no |
Attribute value |
|
|
no |
Display X position |
|
|
no |
Display Y position |
|
|
no |
Text size |
|
|
no |
Layer number |
|
|
no |
Font type |
|
|
no |
Stroke ratio |
|
|
no |
Rotation (default |
|
|
no |
Display mode (default |
|
|
no |
Constant flag, only in device context (default |
|
|
no |
Text alignment (default |
Display values: off, value, name, both
Coordinate System and Units
All Eagle coordinates are specified in millimeters as decimal values in the XML. Internally,
the KiCad parser converts coordinates to nanometers for board context and to 100-nanometer units
for schematic context using the ECOORD structure.
The Eagle coordinate system uses a standard Cartesian orientation with Y increasing upward. KiCad’s internal coordinate system has Y increasing downward, so the importer negates all Y-axis values during conversion:
KiCad_x = Eagle_x KiCad_y = -Eagle_y
Rotation Encoding
The %Rotation attribute type uses a string format: [S][M]R<degrees>
-
Rprefix is always present, followed by the rotation angle in degrees -
Mprefix indicates mirroring -
Sprefix indicates the spin flag (text stays readable when rotated)
Examples: R0, R90, R180, R270, MR0 (mirrored, no rotation), SMR90 (spin
mirror + 90 degrees)
URN Format
Eagle uses URNs (Uniform Resource Names) to identify managed library assets:
urn:adsk.eagle:<ASSET_TYPE>:<ASSET_ID>[/<VERSION>]
-
ASSET_TYPEis one of:symbol,footprint,package,component,library -
ASSET_IDis a numeric identifier -
VERSIONis optional
Example: urn:adsk.eagle:component:60986/2 references version 2 of component 60986.
Autodesk Fusion files may use an alternate URN format:
urn:adsk.wipprod:fs.file:vf.RSKzNVZVQPeDNm7Bnfr3WQ
Special Text Variables
Eagle supports special text variables prefixed with >. The importer maps these to KiCad
text variables:
| Eagle Variable | KiCad Variable |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Text variables not in the table above are generically converted to ${VARIABLE_NAME}.
Eagle’s overbar notation uses ! as a toggle character. The importer converts this to
KiCad’s ~ overbar notation.
Imported Elements
Schematic
-
Parts with library, device set, device, technology, and value resolution
-
Instances with gate placement, position, rotation, and smashed attributes
-
Multi-sheet and hierarchical design via sheets and modules
-
Nets and bus connectivity with segments, wires, junctions, and labels
-
Pin references and port references within net segments
-
Global attributes
-
Embedded library definitions (symbols, packages, device sets)
-
Text with font, alignment, and rotation
-
Circles, rectangles, polygons, and wires (including arcs via the curve attribute)
-
Special text variable mapping (
>NAMEto${REFERENCE}, etc.) -
Overbar notation conversion (
!toggle to~{}syntax)
Board
-
Component placements with position, rotation, mirroring, and locked/populate flags
-
Signal nets with routed wires, vias, polygon pours, and contact references
-
Net classes with default width, drill, and inter-class clearance rules
-
Design rules (pad elongation, mask expansion, paste shrink, pad annulus, via annulus, pad rounding, wire-to-wire spacing)
-
Through-hole pads with drill, diameter, shape, and rotation
-
SMD pads with size, roundness, layer, and rotation
-
Vias with drill, diameter, shape, layer extent, and solder mask forcing
-
Non-plated holes
-
Polygons with pour type, isolation, thermal, and orphan settings
-
Dimension annotations
-
Text and graphical elements on all layers
Library
-
Packages (footprints) with pads, SMDs, wires, text, circles, rectangles, holes, polygons, dimensions, and description
-
Symbols with pins, wires, text, circles, rectangles, polygons, and description
-
Device sets with gates, devices, connect pin-to-pad mappings, and technologies
-
Layer definitions with color, fill, visibility, and active state
Limitations
-
The
<board>XML structure is traversed directly rather than parsed into the structuredEDRAWINGtree used for schematics and libraries. -
The
grouprefsattribute (IDREFS type) present on most graphical elements is not parsed. -
3D package data (
<package3d>,<package3dinstance>) is read but not used for 3D model import. -
SPICE simulation data (
<spice>,<pinmapping>,<model>) is parsed but not imported into KiCad’s simulation framework. -
The
<autorouter>section is ignored. -
Design rule parameters beyond those listed in the design rules table are silently ignored.
-
The
capattribute on wires (flatvsround) is ignored; KiCad does not support flat line caps. -
Variant-related elements (
<variantdef>,<variant>) are parsed but variant-specific behavior is not implemented. -
The
<filter>element contents are parsed structurally but have no effect on import.