Guide for migrating projects from 5 to 6?

With 6.0 arrival, I’d appreciate any pointers to guide docs regarding moving projects from Kicad 5.x to Kicad 6. This includes the project itself, schematics (with subsheets), and pcbs, and also the respective included libraries and custom libraries.

I’m thinking there must be checklists of things that will need attention to make the transition.

(And of course this is all separate from the installation of Kicad 6, possibly alongside Kicad 5.) Thanks!

Hello @gwideman

Have you downloaded and installed 6 yet, what is your OS and what Kicad version are you currently using?

I am using Kicad 5.1.9-1 on Windows 10.

I have not downloaded Kicad 6 yet, but have read several posts on installing side-by-side, and feel like that’s adequately covered. I am encouraged by responses to a previous question: Kicad_common 5.x 6.x details please? .

That’s why my question focused on what needs to be done to the Kicad 5 projects themselves to migrate them from 5 to 6.

Nothing really.
Make sure you have backups somewhere safe in case something gets messed up.
When you open a file in 6, upon saving you will be asked if you want that file converted to 6 from a previous version of Kicad.
After saving, you will find both a 6 version and a 5 version in your folder. 5 is .sch and 6 is .kicad_sch. (for schematics)

Just be aware that you can open, use and save 5 projects into 6 but you cannot open or use something from 6 in 5. It is a one way street.

I’m pleased you’ve worked out installing 5 & 6 side by side.
I’ve stuffed up something and 6 has overwritten 5. Now I have 6 & 5.99 :slightly_frowning_face:

  1. Make backup.
  2. Install KiCad V6.
  3. Open your project, schematic, PCB, etc.
  4. Save your project. (Schematic, PCB, etc).

That 's it, and the first step of making a backup is just an extra precaution. I can skip that step because I bought a new PC last week and I backed up everything because I copied the old HDD to the new M.2 and then put the old HDD in an silicone enclosure and put it in the backups drawer :slight_smile:

The official documentation agrees with this:

Migrating from Previous Versions

In general, to migrate a design to a new version of KiCad, simply open the project with the new version, then open the schematic and PCB and save each file. More details about specific issues that may come up when migrating designs is covered in the Schematic Editor and PCB Editor chapters of the manual.

I just did a test run on such a project.

  • Open project & Exit KiCad.
    This creates two new files: [Project].kicad_pro and [Project].kicad_prl and a backup directory with some files in a zipped archive. The old [Project].pro
  • Open schematic & exit:
    KiCad asks you to save it (in the new format). The old [Project].sch is kept, while the new [Project].kicad_sch is created. File size increases significantly (in my case from 71kB to 349kB. This schematic format has changed a lot. It’s now in “S-Expression” format, and the whole graphics of all used schematic symbols are embedded in the file. The dreaded [??] schematic symbols because of defective links to schematic symbol libraries are now a thing of the past. The old schematic is just left alone.
  • Open PCB from project manager & Exit.
    KiCad asks you to save it in the new format. I confirmed. The name of the PCB already was [Project].kicad_pcb and is not changed, and thus the old file is overwritten.
  • For schematic library symbol libraries you have a choice. You can either keep on using the old format, which is now called “legacy” (See: Eeschema / Preferences / Manage Symbol Libraries / Project Specific Libraries (tab)) There is a Migrate Libraries button on that page, and that can be used to convert a library to the “KiCad” format.

KiCad leaves behind some of the older files (project file, schematic). You can delete them manually afterwards to clean up. The [Project]-cache.lib file can also be deleted after the conversion, because it’s contents are now stored in the [Project].kicad_sch schematic file itself. You can also delete the [Project].dcm file This was an ad-hoc file which had to be added to be able to save custom fields in schematic symbols, and these are now also saved in the schematic file itself.

1 Like

Thanks all for replies so far, which are mostly that the migration happens automatically, with no significant issues to speak of.

@paulvdh Yes I see that “Migration from Previous Versions” statement. But then I did not see any actual discussion of issues in the individual Schematic Editor and PCB Editor doc pages. At least no specific sections on the topic. Several searches of the docs only yielded a change in which 6.0 prohibits labeling a bus with more than one (base) name.

So, I’m cautiously optimistic :-). I anticipate I’m going to have to do something, probably minor, to my custom symbol and footprint libraries. I am expecting Kicad to automatically change their formats and rename them (with suitable confirmation dialogs), but I also want the 6.x versions of the libraries to be in a 6.x-specific directory location distinct from the 5.x libraries. I’m pretty sure that can be arranged in three steps:

  1. Let Kicad 6 do the custom library migrations in the existing locations, relying on the original library files remaining unmolested, and the new ones having distinct extensions.
  2. Manually copy the v6 custom libraries to the new location.
  3. Fix up the paths for the custom libraries in the respective 6.x library managers.

But there may be some nuanced difference between what’s needed by the symbol libraries vs the footprint libraries. To be examined a bit more before actually doing it :-).

Migration is not automatic. You have to initiate it yourself, and that is a good thing, consider when multiple projects (of which some are older) depend on a library.

The way I would do it:

  • Copy the old libraries to a new location.
  • Open a KiCad project that uses such a library (In KiCad V6).
  • Migrate those new copies of your libraries.

But if you put them in a different location, then KiCad does not see,nor use them.
You have to enter those entries (via library management) to the fp-lib-table and sym-lib-table files, and also have to update all projects to use those new libraries.

  • Eeschema / Tools / Edit Symbol Library Links (For schematic symbol library)
  • **Redo footprint assignment?

Nobody writes much about it because there is nothing to write about. It “just works”.
But I do see your point of trying to be careful
If you’re that careful, I assume you also have a good backup strategy, including off-site backups in case your house (business location) burns down.



I agree with that statement.(to make up to the magic 20).

Thanks for your comments, which align with my general expectation.

**Redo footprint assignment?

I’m pretty sure that footprint reassignment won’t be needed, as those should work by [libraryname]:[footprintname], and should not change from just moving the libraries. Unless of course some libraries and/or their footprints now have a different name.

off-site backups in case your house (business location) burns down.

I’m sincerely hoping that’s not one of the risks elevated by migrating from 5 to 6! Does the CPU have to work that much harder or something?

Just the finger on the left click mouse agreeing to convert old projects to the new 6 format. :slightly_smiling_face:

OK, now that I’m actually carrying out the process, it looks a little trickier. Migrating libraries doesn’t really “just work” if you’re trying to maintain some order in your libraries, and in particular trying to avoid intermingling K5 and K6 libraries. I’ve noticed How to migrate your K5 user libraries to K6 and will try to follow it with sidestepping of the noted pitfalls.

I just used my OS to make a copy of my library folders, gave the folder copies new names and then “Manage Libraries” to install the libraries in the copied folders into 6 .

I’m curious to know how this worked out for you.

I use KiCAD 5.1.8 professionally, and I have many (active) projects with project-specific libraries and hundreds of hours put into them. We’re considering upgrading. Got any retrospective thoughts on the process? Encounter any issues that you didn’t mention here?

My 6.0 installation has created a new KiCad 6.0 directory tree under documents, so I simply copied projects and custom libraries to the new folders and opened them there. That way my 5.1.12 work is undisturbed.
(5.1.8 is from December 2020 and you should at least upgrade to 5.1.12)

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.