Best practicles for silk screen component labelling?


What are your best practices for labelling components and pins on the silk screen?

I can plot references and values on the silkscreen.

Values are useful for things like “resistor values” which I want baked into the schematic, but don’t normally have room for on the PCB.

References can be useful for naming components, but I haven’t been able to find a reasonable way to rename them as they are the component “key” in the netlist. In particular for connectors I often want useful names like “+5V”, “D-” and not J1, J2. They also have to be unique so I can’t have two connectors named GND. I can probably live with resistors being in odd spatial orders such as R2, R3, R1, although it’s annoying.

I can add text directly to the silk screen layer, but then it’s not associated with the components. And I have to remember things like J13 is GND.

I would love to know what your best practices are.



I follow the lead from @ChrisGammell and use only the references and not the values. When getting a prototype working, the values can change - particularly resistors. For connectors, I make the reference invisible and just use text to label the pins. This, of course needs special care if there are any changes to the pin assignments. This could also be a question for the KiCad Forum.


I tend to just use references on the silkscreen not values. At the end of the day a PCB is just an aid to circuit wiring so if it is in a box out of sight nothing really matters about what it looks like. You can change the size of labels if space is getting tight or switch around where it is placed as long as it is fairly obvious which component it belongs to. Recently for something obvious such as a six pin ISP header I just put a dot next to pin 1. The documentation will give details and labeling each pin just takes too much space.


I think I tend to agree with most people here and say to generally just use the reference designation on the silk screen.A case could be made that in kits it may be useful to also have the value included on the pcb. For instance a friend at work bought this 6502 Dodo game system which only includes the values! It worked out ok for him though, since he could just look at the value of the component and then solder it into the matching value on the pcb. Perhaps that one goes a bit too far in not including the reference. But it depends on who will ultimately be handling that pcb. If it’s an engineer, they would most likely benefit from having the reference so that they can probe around the circuit with the schematic. There may also be situations where the components are so small and packed so close together that there really isn’t room for either the reference or the value near some components.


Thanks for the feedback. The approach I went down was to use a combination of references and silk screen text.


  • Check Render -> References
  • Uncheck Render -> Values
  • Check Plot Footprint References
  • Uncheck Plot Footprint Values

On references that I want to give better names:

  • Set reference text to invisible
  • Add replacement text to the Silk Screen layer (F.SilkS or B.SilkS)


The extra work step that I do is verify the position, alignment, etc. of the silkscreen text in the 3D viewer. If there are a lot of parts, it is possible to miss a reference that is covered by another part. These issues are best detected in the 3D view.