Monday, July 25, 2011

How to import Eagle files into Altium Designer?

There has been some discussion around importing files from Eagle and we have
collected some information which I felt was worth sharing with you. As you are
aware Altium Designer does not currently offer an Eagle importer however there
is a way to import your Eagle Schematic and PCB's into AD. CadSoft, Eagle offers ULP
script's (User Language Program) that will export to an earlier Protel format
which can then be opened in Altium Designer. These scripts use the file
extension [*.ulp].

Using the Eagle export script Tool, it is possible to export Protel ASCII data
from Eagle Schematics and/or PCBs. The resulting ASCII data can be opened with Altium Designer.  Important
this export tool is not an Altium product, and is not supported by Altium. These below scripts are popular but
there are others floating around as well.

Convert Eagle Schematics to Altium

Convert Eagle PCB's to Altium

The information below is mostly for things to be cautious of after a PCB is
converted, others may have more insight as to what to look for after converting
a schematic using the mentioned ulp. The original
scripts can be found at (, Or (

Note: The script can fail if there is a % character (see issue 8).

These ULP's can be helpful however some clean up should be expected. To date
the following issues have become known regarding the PCB export ULP.

1. There is no Board Header Record
2. The Layer designators in the inner layers are not correctly shown. It is possible to search for these incorrectly shown Layer designators with a text editor (e.g., Notepad) and to replace/rename these discrepancies. (e.g.
Routex –> Midx) Midx is the designator recognized by Altium Designer
3. After the PCB Import, design rules must be made and checked.
4. Plane layers may be omitted. These are however easy to create in Altium Designer as long as there no Split Planes were present.
5. There are cases where Overlay-Objects from components end up on the wrong layers. You can unlock and select the component
primitives, and then change layers for any discrepancies.
6. All pads come in a Pad Designator 1. This will have to be corrected if this is ever to map to schematic symbols. However, all primitives for a
component are at least grouped into a component.
7. All the tracks came in but were not assigned to any nets. They were all No Net.
8. The script chokes if a percent sign (%) is included in any text (such as a Comment with "1000uF 5%"). This is because the
script sends this to Printf() as a format string, which interprets it as the
start of a new field for which there is no corresponding parameter passed.

Steps in Eagle
1. Open Eagle
2. Go to File / Open / "Browse to Eagle PCB" or Eagle "Schematic"
3. Go to File / Run / "Browse to the ULP you want to run. (ie: schematic or pcb export ulp

Hope this information is helpful...


  1. How to solve?


    Multiple contacts on pin, use contacts() instead.

  2. Very informative and It was an awesome post. I love reading your fantastic content. Thanks for sharing it with us. We are so greatful to your sharing.Altium Designer 17