SCH File Documentation
Summary
A .sch file is an electronic schematic: a circuit diagram showing components and the nets that wire them together, the design counterpart to a PCB layout (.brd). The extension is shared by several EDA tools with incompatible internal formats — EAGLE, KiCad, OrCAD and various SPICE tools — so the right program depends on which one created it. The most common .sch online is an EAGLE schematic (XML text since EAGLE 6); the free path to open it today is KiCad, which imports EAGLE projects directly.
Technical details
| Feature | Value |
|---|---|
| Full name | CAD Schematic File (circuit diagram) |
| File extension | .sch |
| MIME type | application/xml (EAGLE 6+); varies by tool |
| Format type | Electronic schematic; format depends on the creating EDA tool |
| Ambiguity | Used by EAGLE, KiCad (legacy), OrCAD, TINA, Qucs and others |
| EAGLE format | XML text since EAGLE 6.0 (2011); binary in EAGLE 5 and earlier |
| KiCad format | S-expression text (legacy); KiCad 6+ uses .kicad_sch |
| OrCAD format | Cadence OrCAD Capture, proprietary (often binary) |
| EAGLE developer | CadSoft → Autodesk (EOL June 2026, now Fusion Electronics) |
| EAGLE introduced | EAGLE since 1988; XML .sch since 2011 |
| Open standard | No — each tool’s format is vendor-defined |
| EAGLE XML header | <?xml ...>, DOCTYPE eagle.dtd, <eagle version="..."> |
| Holds | Libraries, parts, sheets, nets/wires, symbols and pins |
| Paired file | PCB layout .brd (same design, board side) |
| Free opener | KiCad (imports EAGLE 6+ projects) |
| Exports to | .pdf, .kicad_sch, .dxf |
| Related extensions | .brd, .lbr, .kicad_sch, .dsn |
| Reference | kicad.org, autodesk.com (EAGLE EOL) |
What is a SCH file?
A .sch file is an electronic schematic: the circuit diagram of a design, showing components (resistors, ICs, connectors) as symbols and the nets that electrically connect their pins. It is the design-time counterpart to the PCB layout, which most tools store as a .brd file. The schematic captures what connects to what; the board captures where each part physically sits and how the copper is routed. The two are kept in sync.
The essential fact about .sch is that it is not one format. Many EDA (electronic design automation) programs reuse the extension for their own, mutually incompatible file layouts — EAGLE, KiCad, OrCAD Capture, TINA and Qucs among them — so the practical first question is always “which program created this file?” The rest of this article treats the dominant case (EAGLE) in technical detail, then explains how to identify and handle the others honestly, because opening the wrong tool against a .sch simply fails.
The EAGLE schematic and its XML structure
The .sch most people encounter, especially in the Arduino, SparkFun and Adafruit ecosystems, is an EAGLE schematic. EAGLE (Easily Applicable Graphical Layout Editor) was written by the German company CadSoft in 1988 and acquired by Autodesk in 2016. Since EAGLE 6.0 (2011) the .sch file is XML text, which is what makes it readable and importable by other tools. EAGLE 5 and earlier used a proprietary binary .sch that must first be opened in EAGLE and re-saved to get the XML form.
A modern EAGLE .sch opens with an XML declaration, a DOCTYPE pointing at eagle.dtd, and an <eagle> root element:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="9.6.2">
<drawing>
<schematic>
<libraries> ... device/symbol/package definitions ... </libraries>
<parts> ... instantiated components + values ... </parts>
<sheets>
<sheet>
<instances> ... symbol placements ... </instances>
<nets> ... electrical connections ... </nets>
</sheet>
</sheets>
</schematic>
</drawing>
</eagle>
The structure separates definitions from usage. <libraries> holds the symbol and device definitions the sheet draws from; <parts> lists the actual components placed in the design with their values and attributes; and each <sheet> (a schematic can span several pages) contains the graphical <instances> of those parts plus the <nets> that define which pins are wired together. Because this is text conforming to a published DTD, other EDA tools can parse it, which is the basis for importing EAGLE designs elsewhere.
EAGLE’s end of life and the move to KiCad
A timely, load-bearing fact: Autodesk has discontinued standalone EAGLE. It has been folded into the Electronics workspace of Autodesk Fusion, and the standalone product reached end of life in June 2026, so new EAGLE licences are no longer sold and existing users are being pushed to migrate. This reshapes the advice for opening a .sch.
The practical free path now is KiCad, the actively developed open-source EDA suite. KiCad imports EAGLE projects directly through File › Import › Non-KiCad Project › EAGLE Project, converting the schematic into its own native .kicad_sch. This works on EAGLE 6+ XML files; an old binary EAGLE .sch must be opened in EAGLE once and re-saved as XML before KiCad can read it. Autodesk’s Fusion Electronics workspace also still opens EAGLE designs for those who stay in that ecosystem.
The other .sch formats: KiCad, OrCAD, SPICE tools
Because the extension is contested, a .sch from one tool will not open in another. The reliable way to tell them apart is to look at the raw file in a text editor:
| What you see | Tool |
|---|---|
<eagle version="..."> XML with eagle.dtd | EAGLE 6+ (Autodesk) |
Nested parentheses, (kicad_sch ...) or an EESchema header | KiCad (legacy .sch; current is .kicad_sch) |
| Binary / unreadable bytes | EAGLE ≤5, OrCAD Capture, TINA, or another proprietary tool |
Older KiCad used a text .sch (an S-expression / legacy format); KiCad 6 and later switched the extension to .kicad_sch. OrCAD Capture (Cadence) and PSpice use .sch/.dsn for their own, unrelated schematics, opened only in their tools. Circuit-simulation packages such as TINA and Qucs likewise save .sch in formats specific to them. There is no universal schematic viewer that decodes all of these, because they encode different data models; identify the source first, then use its tool or its documented import path.
The schematic and the board it pairs with
A schematic rarely travels alone. In EAGLE, Fusion and KiCad the .sch is paired with a .brd PCB layout, and the two are kept consistent by forward and back annotation: parts and nets added to the schematic are propagated to the board (and vice versa) so the copper layout always reflects the drawn circuit. This is why the two files are exchanged together as a project. “Converting” a .sch to a .brd is not a file conversion but this generation-and-sync workflow inside the EDA tool.
The most common genuine export is to PDF, for sharing or printing the diagram: EAGLE and Fusion use File › Print/Export to PDF, and in KiCad the schematic editor (Eeschema) plots to PDF via File › Plot. A text editor can display the raw XML of a modern EAGLE .sch, but it shows the markup, not a rendered circuit; seeing the actual diagram requires an EDA tool or a PDF the author exported.
A note on bundled scripts
A modern EAGLE .sch is XML text describing a circuit and contains no executable code, so opening and inspecting it is safe. The one practical caution is unrelated to the schematic file itself: EAGLE and KiCad both support user scripts (EAGLE’s User Language Programs, KiCad’s Python plugins), and a project downloaded from the internet may bundle such script files alongside the .sch. Those scripts, not the schematic, are what you should decline to run from an untrusted source. The .sch is inert data.
References
- Autodesk — EAGLE end-of-life announcement
- KiCad — free EDA suite (imports EAGLE projects)
- Autodesk Fusion — Electronics (EAGLE successor)
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.