Support Team
Feedback:
support@nextpcb.comTime to send your design off for manufacture, but the engineers are asking for a pick and place file? In this guide, we cover what a pick and place (centroid) file is, how to export it from KiCad, and what the configuration options mean. Whether you are preparing files for JLCPCB, PCBWay, NextPCB or your own assembly setup, this guide tells you everything you need to know.

The pick and place file is a machine readable document that tells automated assembly equipment the location and rotation of surface mount devices (SMD) that go onto a PCB board. Equipment like the pick and place machine use this to “know” where to place the parts.
The pick and place file may also be referred to the xy file, centroid file, footprint position file etc. In KiCad, it is called the Component Placement File (previously Footprint Position File) and has the default file extension of .pos which stands for position.
The export process is very straightforward if your assembly house is flexible with file formats. In fact, the biggest hurdle was probably knowing it is called a Component Placement file and not pick and place or Centroid file.
The following instructions were made for KiCad 9, however, the process has largely remained unchanged - at least since KiCad 6 with only minor changes to the export options. We’ll cover the KiCad 6 options in this article as well.
In KiCad, go to File -> Fabrication Outputs -> Component Placement File (.pos, .gbr)...

In the new window called Generate Placement Files, fill in the Output directory.
If your manufacturer is flexible in terms of format, or has not specified requirements, the default options most likely will suffice. Though we will go through the meaning and impact for each option in the next section.
Then click Generate Position File and verify the export was successful in the Output Messages box.

First things first, you should always follow your assembly house’s recommendations if available. Although many modern machines can accept a variety of formats and/or allow for adjustment by the technician, some older machines and specific circumstances may require different settings. You should always follow the instructions of the party doing your assembly, first and foremost.
Below you can see the differences between the Plain Text or ASCII export and the CSV format export when opened in a text editor. Technically, they are both in ASCII text files, which is probably why the option was changed to Plain Text in later KiCad versions.
The plain text export has the file extension .pos, while the csv version has the suffice .csv.

Plain text/ASCII KiCad pick and place output
As you can see, the Plain Text version is very human readable, is neatly arranged in columns and comes with some extra export information in the header. It’s not very spreadsheet friendly, however, and may require a few more steps if you need to make modifications in a spreadsheet program.

CSV (comma-separate values) KiCad pick and place output
The CSV export, on the other hand, can use the comma as a delimiter and quotation marks as the text qualifier to separate the columns cleanly.
For the units, choose whichever you prefer or is required by your assembly house.
Traditionally, the pick and place file only contained surface mount parts (SMD) since back in the day, these were the only parts that would be placed by pick and place machines. Through-hole components were largely inserted by hand.
This is no longer necessarily the case and it can be beneficial to include through-hole parts in the centroid file, even if it is not used by the SMD soldering process.
The software HQDFM, for example, needs the position information of THT parts to perform DFM analysis (for clearances, etc.). It is simply a way to tell machines the position and rotation of a part.
Still, need help? Contact Us: support@nextpcb.com
Need a PCB or PCBA quote? Quote now