Creating your own offline libraries in new Kicad

I am just trying to make a damn footprint in Kicad. How do I create a local library for footprints and schematics for the new .pretty github version of Kicad? Do I have to create a Github repo in order to make footprints?

I just updated my Kicad version to a May build, and found that Kicad switched over to having all of their footprints be in a github repo, I think that is awesome for collaborating. I think that is awful for first time users, because the issue I am having I would only imagine would turn any new user away from Kicad. I designed a good number of PCBs in Altium, then I no longer had access through my college. So I went to Kicad, but it is frustrating things like these that make me want to just dish out the $1000 for eagle.

Is Kicad mainly written in C++ and python? I would learn to program those languages just to help fix Kicad, I really believe in open source tools, but Kicad really needs some help.


I am a bit new to Kicad too. But there are ways to make foot prints off line, or get them off line.

  1. There is the Kicad Foot Print editor in PCBnew. Look for the six leg IC looking green chip icon button and press that

  2. All the scripts online in git hub can be down loaded and installed locally. Look for a script called “” in your current KiCad installation. It uses GIT and git clones a copy of everything onto your hard disk.

  3. The other way I like is to use a rather neat gadget called madparts. This is a programmable way to make foot prints. The amount of code is usually small, maybe 20 or so lines of a script language called “coffee” like the drink. MadParts is free and is written in Python. Google for it.

Hope this is of some help.

Warmest regards, Mike.

This is pretty sweet for a fast way to make footprints. But I want to know how to save my footprints to my “old style footprint library” that Kicad use to use, for offline editing without using GIT. I just can’t seem to add my library using the Kicad library manager tool within PCBnew. It doesn’t see the old file type when I browse for libraries to add, is there a way to do this manually without using the Kicad GUI?

.pretty isn’t “github” version. The old format can be read but you can’t save footprint in old format. To add new or old library to project or global configuration use footprint libraries wizard - it’s quite easy to use.
To create new library you can create new footprint and use “save footprint in new library”. After that don’t forget to add newly created library to fp-lib-table (with wizard).

The only problem with online libraries is that they are in fp-lib-table by default. Remove them and forget libraries online.

In schematic libraries there are no big changes.


@michal777 I attempted to use that tool, and for some reason or another I wasn’t able to save my new footprint via some write protection error. After updating to the latest build of Kicad I was able to get this to work just fine. Thanks!

After being away from the PCB field for for a few years I wanted to do a quick little project but my Tango 5 1/4 floppies can’t be used in my BlueRay drive. I dug up an old license for Eagle and found it just too painful to go back to command line PCB creation like I did with PDP11’s. This is the third package I’ve tried and was getting ready to call it quits since I couldn’t find a means to create a library to save a footprint, all the ‘guides and video’ assume you want to use parts that are in the library yet the library has few parts that are current so to start you have to build the parts both the footprint and schematic symbol. KiCad is not alone, both the other commercial packages I’m looking at assume the same but they at least had online help with search. I just took a break and looked into the schematic ‘Component’ creation, it didn’t have the Footprint Wizard or Manger, just a simple Add button in the Library Editor Preferences/Component Libraries that allowed me to add my newly create component library (after I figured out how to create an empty library) to the library where I could set it as the active open library and Save my newly created ‘Component’/symbol to it. That took 30 minutes to discover…

I second your frustration - the documentation of a technical product is, at best, tedious and unrewarding but trying to learn a program without documentation is an exercise in frustration.

What’s so hard on following this step-by-step guide?
[edit 2016-07-29]

Unfortunately Kicad has inherited a quite unfriendly and non-obvious interface, although I find other packages like Eagle have an even less obvious interface.

There are some things Kicad could do to improve it, but the devs are not inclined to rework existing features, or add features just to make the interface easier. For example, a “Create New Library” would help users a lot, even if the menu option does absolutely nothing in the code.

The Preferences->Component Libraries dialog is pretty terrible, the relation between search paths and libraries is not obvious. And there is no link there to Create a new library.

So I feel your pain, it took me several days or even weeks to first get to grips with Kicad. However, the Getting Started guide is quite comprehensive and should be up to date. It is worth working through it.

In the Getting Started HTML there is not one mention of ‘Create Library’, search it, I did and then went hunting elsewhere ending in the forum. The video that is ‘free’ may work for those without a hearing impairment but not so much for me. When I get thru the learning curve I’ll do a 10 step for those that want to try KiCad, the simple things like drawing a component body took time to figure out the application didn’t have a bug. You click ONCE to start the draw and ONCE to end it - clicking and dragging with the mouse button down creates a select block, always, regardless of the tool selected. I’m impressed with this product, once I redid everything to mm things are working nicely. Still have the E size plot to do but I’m looking forward to trying it.
@bobc “although I find other packages like Eagle have an even less obvious interface.” Eagle hasn’t changed that much since DOS days… They have been milking that product niche for over 25 years.

No there isn’t, and I agree it is mega-confusing!

I have been using Kicad for years, but I went to create a new library and even I couldn’t do it without reading the tutorial! There is a special little button to press… But it’s not labeled “Create library”, it is labeled “Save current component to new library”. :slight_smile:

If you read the tutorial carefully, it does actually create a new library, but never uses the words “create library”. I don’t know why Kicad shoots itself in the foot like this, a few simple changes would make it much easier.

A lot of such pains could be solved by simple convenience functions. E.g.

  • I start Footprint Editor
  • Click “Load footprint from library”
  • Click “select by browser”
  • Click library in left column, then
  • Click footprint in right column
  • Click “Insert footprint in board”…(fisrt confusion: wtf? there is no board, I just edit a footprint…)
  • When I’m done with editing, “Save footprint in active library” is disabled, as there is no active library.
    When I select then load the footprint, its holder lib should be selected as active lib.
    It would be even better if on the save pane there was a Library select dropdown, where the original lib was default. If there were footprints with the same name in more of libs, they should be marked somehow (to avoid confusing).
    I understand the devs: project is in alpha state. At first all basic functions should work well, the nuances may be polished later…

I have just installed the latest stable version of KiCAD that includes the online GIT libraries. The first time I tried to browse the library for a part, I got an error message about the GIT repo not being available. So, being a man of action, and not being completely on-board with the concept of on-line libraries, I removed the GIT libraries from the library list and attempted to download them locally. That’s where it all fell apart as it appears that the script did not install in my KiCAD directory and that is most likely due to the fact that I am using Windows. So I have one comment and one plea for help:

Comment: I suggest that the developers allow the user to decide whether they want local or remote libraries during installation; there are good reasons for both.

HELP: Can anyone give me, a dumb Windows user, a Unix-less method for downloading the footprints?

OK, the dumb Windows user figured it out himself…I missed a VERY critical step during install. The install does NOT set up any module libraries and this must be done manually through the “Preferences-Footprint Libraries Wizard” in the PCB editor. Click on the “Github repository” option and also the check box for “create a local copy”.

Perhaps the install should include this step so users can start right away? I’ll bet it was in the “readme” but who reads instructions :wink:

I have been looking for a Windows script, there is a batch file in the kicad source tree, but this is not part of the installation. It also requires git to be installed.

I think I have figured a manual way to do it, let us know if you have problems.

How to install local libraries

  1. Start Kicad
  2. Open pcbnew
  3. Select menu option Preferences->Footprint Libraries Manager
  4. Delete all the libraries in the Global Libraries list
  5. Clock OK
  6. Select menu option Preferences->Footprint Libraries Wizard
  7. Select “github repository”
  8. Select “Save a local copy to”
  9. Click browse and select a new folder e.g. “c:\kicad\modules” (create folder if it does not exist)
  10. Click Next
  11. Click Select all
  12. Click Next
  13. Wait while libraries are checked
  14. There are two libraries that are marked INVALID, not sure why…
  15. Click Next
  16. Select “global library config”
  17. Click Finish
  18. Wait while libraries are downloaded.
  19. Check - open the Footprint Libraries Manager, you should have 76 libraries in the list with the local path specified.
  20. Close Kicad and restart

… crossed over with your post, but maybe useful for reference. I haven’t seen the procedure described anywhere official.

1 Like

It’s quite easy. I have done that myself.
A - start footprint editor
B - click “select active library”
C - click “File” - “Save current library as…”
repeat B & C this for all libs.

when all done, click “Preferences” - “Footprint libraries manager”
select all - Remove library - then Append lib for each.

The whole procedure takes some minutes.

It is essential that all component and footprint libraries be stored locally with the project so that everything can be version controlled together.

It seems that library management is always an adventure in PCB design software. I think this is because these tools tend to “evolve” from something simple and are not top-down designed for ease of use.

Library management is quite bizarre in Mentor PADS and Altium as well. I believe that KiCad is not worse than those tools. I was able to create local footprint and schematic libraries under my KiCad project and then version control the whole tree using git.

Good point, what IS so hard about following a 404 Not Found guide?

How did you even know where that doc is? (Or isn’t, 404) Is there some kind of documentation that isn’t terrible someplace?

1 Like

So they changed the website… this happens.

We then go here:

Click on the ‘HELP’ button
and then on the ‘DOCS’ button
And land here:

Anything else I can do to enhance your day there, sweety? :kissing_heart:

[updated the link in question]



I could’t find that actually, can you please give a screenshot or explain a little bit more?

This script isn’t included because the Pcbnew has a build in tool to fetch libraries and preconfigure Library Table. You can follow the steps in @bobc message or read the current CvPcb manual section 5.3. (see: )

If you still looking for this script go to the GitHub KiCad source mirror: