Disclaimer: Screenshots taken in a nightly from after the 5.0.x releases. (KiCad 5.0.x and 5.1.x will look very similar. KiCad version 4 had a very different symbol editor meaning this tutorial is not really suitable to teach symbol creation in KiCad version 4)
Symbol libraries are always a pair of files. A .lib file that contains the symbol data and a .dcm file that holds documentation information for aliases. Any interface with kicad will only list the .lib file as it knows that it can reach the dcm file by simply replacing the file ending.
Creating an empty library and adding your first symbol to it
Symbol libraries are created from within the symbol editor. To create a new symbol you have two options. Either use the New Library entry of the File menu or of the right.click context menu in the tree view.
After pressing this button you will be presented with a file browser. The exact look of this depends on your operating system. Using this dialog you can select where you want your library to be stored. In addition there will be some form of text field that allows you to enter the name of the library.
Where should i place my new library?
Further reading: Library management in KiCad version 5
This depends on your personal preference. KiCad does not care where you place your libs as long as your operating system allows you to write to the selected location.
If the library will be used to store project specific symbols then it makes sense to place the library file somewhere under the project directory.
All other libs are best collected into a single directory that is somewhere in your users home directory. (This allows easy backup and sharing of your libraries.)
What should i name my library?
The library name should be unique within the chosen library table. It should also communicate what symbols to expect within it to your target audience. Do not include special chars inside your library name as it might create problems in some platforms.
This means the most shareable name will only contain letters, numbers, underline and minus. (This is only a suggestion. Add additional chars at your own risk.)
Selecting the library table
After creating the library you will be asked if you want the lib to be added to the global or project library table. Adding it to the global table will make this lib visible to all your projects. The project (also known as local) library table only adds it to the current project. Pressing cancel will mean the file is created but the lib is not added to any library table. (You can add it later with the library manager found in the preferences menu)
Now your library should be listed inside the tree view. (The fact that it does not have an arrow next to it means that the library is empty)
Adding a symbol to your new library
Adding new symbols is possible in different ways. You can use the button in the upper toolbar or the “New Symbol” entry in the File menu. If you use these options then make sure that you have either selected the target library in the tree view or that you have not selected anything.
If you did not select a target lib in the tree view then you will be asked in which library you want to place your new symbol.
A safer option (at least in my opinion) is to right-click onto the target library name and select “New symbol” in this context menu.
Setting up the new symbol
After creating the symbol you will be immediately asked about the main features of your symbol. The details about this dialog will be handled in a future tutorial. Here a preview of it.
After pressing ok your blank symbol will be shown in the editor window. You will notice that both the symbol and the library now have a star next to their name. This means that there are unsaved changes. Meaning the symbol will only be saved to the library when you press one of the save buttons (In the File menu or in the top toolbar)
This tutorial goes into more details regarding the creation of symbols