Converting from Eagle to KiCad

Converting from Eagle to KiCad.

  • Quick Introduction Video
    Recommended video player Firefox 56.0+ with VLC video player plugin
  • The following 5 ulp (eagle user script file) and one ulp include file, work together or stand alone to convert Eagle sch/pcb version 6.xx*(7.xx-8.xx maybe?)* file(s) and any version of Eagle lib(lbr) to KiCad sch/pcb and lib/mod files.

Converting from Eagle to KiCad

  • The Programs will do
    • Eagle multi sheet sch to KiCad multi sheets.
    • Global and local net labels for multi sheets. (This is a real nasty bit of hacking!)
    • Multi part gates.
    • Build KiCad PCB modules and SCH libs from Eagle SCH.
    • Make project director to store all the converted files.
    • And basic error checking.
    • Eagle 6.xx(7.xx-8.xx?) PCB files can be directly import to KiCad.
    • Eagle LBRs (any version of Eagle libs or size ) can be converted to KiCad lib/mod using eagle-lbr2kicad-1.0.ulp see Eagle Lib conversion for more details.
    • Converts VIA to Pads, which helps with KiCad’s flood fill, when VIAs have no connections.
    • Documents fills over SMD pads on Eagle Layer 155,156
    • Documents on layer’s 150,152,153,154 of (Eagle) the unconnected VIAs and tracks.
    • The examples directory contains a number of converted schs/boards.
  • By using the following ulps a consistent link from the SCH to PCB is maintained so forward and backward net-list annotations work under KiCad!
  • On KiCad Eagle PCB import of vias and tracks don’t retain there NET information if they are not connected to a pad with a track, where as Ealge when they do, (KiCad assigned a null net-name on Eagle PCB import in KiCad’s PCBNEW).
    The result will be KiCad flood fill will not connect to them!!! There is an option to convert and document on layers 150,152,153,154 of (Eagle) the unconnected VIAs and tracks which will make finding and fixing the problem much easier.
  • Schematics wire’s/nets can terminate in a buss or onto another wire/net/pad and not be connected in Eagle!! Where as in KiCad schematic wires to wires and wires to pads which terminates at the same location will be connected!!
  • Eagle Oval pads shape’s are not supported in KiCad, you will only end up with a round pad!!
  • Eagle PCB design rules are not imported by KiCads PCBNEW.


  • Download the zip file, and unzip using your favorite zip program to your target directory OR if your prefer git:
  • WARNING: The ULPs file-name will conflict with Eagles ULPs file-names so
    DO NOT install them in Eagle’s ULP directory
  • There are 5 ULPs and one ULP include file have been hack together.
    renumber-sheet.ulp …………………… stage 1: Add missing number(s) to parts prefixes.
    fix_via_hack.ulp ………………………… stage 2: Converts unconnected VIAs to pads.
    eagle6xx-sch-to-kicad-sch.ulp …. stage 3: Build sch and project files, etc
    exp-lbrs.ulp ………………………………… stage 4: Extract libs from eagle SCH/PCB
    eagle-lbr2kicad-1.0.ulp……………….. stage 5: Converts Eagle lbr to KiCad lib/mod ………. Include file used by the other 4 ULP\s
READ  DIY | RGB LED Shades Controlled by Arduino


WARNING Always backup your Eagle SCH/PCB files before running this program!

  1. Start your Eagle program (Make sure your using version 6.xx of Eagle)
  2. Open the eagle SCH/PCB file you wish to convert. Make sure the eagle SCH and PCB files are both, Correct and pass all ERC/DRC checks in Eagle.
  3. Next Open the top left hand File menu and select Run ULP
  4. A file requester window will open. Use this to select find or type the location of the renumber-sheet.ulp ULP you download from this website. We use this script to make sure all part prefixes are ending in a number IE: R0, X1 etc. as KiCad will ask to renumber any prefix which dose not end in a number. (It may do this any way, but don’t worry it wont change any prefixes which have already been numbered unless you tell it too!) Keeping prefixes consistent from SCH to PCB will allow net-list forward and back annotation to work in KiCad. Select OK (this will run the script). When this completes all references with out a number should have a number appended to them. Note: This number will start from the largest reference number on the SCH/PCB.

Read more: Converting from Eagle to KiCad

This Post / Project can also be found using search terms:

  • eagle to KiCad
  • kicad to eagle converter
  • convert eagle to kicad file
  • convert eagle to kicad in kicad

Leave a Comment

= 3 + 9

(Spamcheck Enabled)

Read previous post:
Cheap Arduino WiFi shield with ESP8266
Cheap Arduino WiFi shield with ESP8266

In my previous Instructable I have described how to plug the ESP-01 module into a breadboard. This is just the...

Scroll to top