Eagle: Extract a symbol from a project to a library

Eagle – a widespread PCB design tool – comes with a huge amount of libraries but sometimes it is missing the exact device you need for your project. A common way to add a new device to your libraries is to copy an existent but similar one and to adapt it to your needs.

Another more comfortable solution is – assuming you downloaded an existent eagle project from the internet – to generate a complete library with all the devices used in the schematic or board file of that project.

It’s done amazing easy with a few clicks only. In your menu toolbar there’s the ULP tool. ULP stands for User Language Program which is the language used to write scripts to add new functionality to eagle. These scripts can be seen as a kind of plugins such as there are add-ons in firefox to give it new abilities.

After clicking on the ULP tool you have to choose the exp-project-lbr.ulp ULP script.

Update (April 11th, 2013):

As of version 6.4 the export of schematic and/or board libraries has been integrated into the EAGLE GUI, available in the File menu under Export/Libraries while the new ULP exp-lbrs.ulp is replacing the existing exp-project-lbr.ulp.

The new script hasn’t been tested yet and thus the rest of this article is still referencing the old ULP. Please leave a comment if this howto cannot be applied any longer.

The script will ask you for some options but chances are that you leave them unchanged. Just click on the Collect data and Create library afterwards.

Optionally also the mechanical packages can be generated. Make your choice.

The generation can take a while now depending on the schematic and board complexity. The ULP script will finally create a file with the file name of your schematic but uses lbr as the file extension then.

You should have got now what you were looking for.


  1. Thanks. Your posting has been very helpful, and I was able to extract some opto libraries from this posting, http://wiki.dxarts.washington.edu/groups/general/wiki/4dd69/ which I need for my Arduino controlled AC dimmer

  2. Cyrille


    It seems that this is not possible with the free/trial version. Perhaps it’s due to the schematic having multiple layers…


  3. slopjong

    I was using the light edition. What version are you using and did you try exp-lbrs.ulp or exp-project-lbr.ulp?

  4. Ashish

    Comment about new script exp-lbrs.ulp .
    I am talking about script use in Eagle version 7.1.0. When I used that script, I didn’t get any Icon as you have mentioned above but I would say default steps and setting are OK(I would recommend to create new library in your project folder so that it won’t disturb your predefined libraries ) so just go through them without any changes only what you need to do is, run that script in schematic file and not in board file as running in board file will generate only package and not a complete device(which include symbol synced with package). And then copy those newly created .lbr files from your project folder to eagle’s library folder to reuse them.

  5. If you wish for to increase your knowledge only keep visiting this web page and be
    updated with the hottest news posted here.

  6. You actually make it seem so easy along with your presentation but I to find this topic
    to be really something which I feel I might never
    understand. It kind of feels too complex and extremely wide for me.
    I am having a look forward for your subsequent put up, I’ll try to get the grasp
    of it!

  7. I don’t even know the way I ended up right here, however I thought this publish was great.

    I do not realize who you’re but definitely you’re going to a well-known blogger in case you are not already.


    Hi everybody. I have a small board made in Eagle. It´s done. Now I want to use that board as a component on another boards (like Arduino is offen used for that, for example) and I would like to create a component with only some conectors from my first small board and the its edges. My question is: How can I transform my original small board to a component so I can easily use it on other boards? Is there an easy way to transform my small board into a component (obviously removing componentes other than conectors I would need to conect to other new boards). Thanks for any help.

  9. It works! I have successfully exported all devices with the packages and created a new library!

  10. Hallo, Ich finde den Aufbau der Seite sehr gut. Macht bitte weiter so.

  11. Asking questions are genuinely good thing if you are nnot understanding something totally, but
    this piesce of writing provides nice understanding even.

  12. When I initially commented I seem to have clicked the -Notify
    me when new comments are added- checkbox and from now
    on whenever a comment is added I recieve four emails with the
    exact same comment. There has to be a means you can remove me
    from that service? Appreciate it!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>