Is there a way to place some Ground vias in a way that they can be selected independently from others?

I am adding additional vias connecting two ground planes in a multilayer PCB to improve return paths after all the PCB tracing is already finished.

Ideally, I would want these vias to be independently selectable or identifiable as and after job, as opposed to the vias that were already created during the main PCB design.

Is there a way to label or specify a property to these vias, so that they can be told apart from the rest? And then, is there a way to perform a filtered search or selection to highlight them independently of the rest?

I know that I can group the new vias in a single object, and just select that group object, but this is suboptimal because adding or removing vias from such group imply first ungrouping then selecting them one by one again to re-recreate the group.

Any ideas on what I can try are appreciated. Thanks

EDIT: I am using version 8.0

After selecting the vias you want to identify right-click your mouse button and select Grouping->Group. Once the group has been created edit the group by pressing E key. Then you can assign a name as shown

You can also ungroup the previous group


There is currently no real help for your requirement (apart from the group think).

regarding deleting a grouped via: it’s not necessary to ungroup all vias. You can “Enter the group” (select group–>context menu–>enter) and delete/add vias inside the group.

And then, is there a way to perform a filtered search or selection to highlight them independently of the rest?

Not currently. You could upvote the following gitlab feature request for arbitrary search filters: Properties Search / Parametric Search (#8390) · Issues · KiCad / KiCad Source Code / kicad · GitLab

You could simply create a custom via footprint with any name you like . . . and if you need others just Save As the via and give it a new name.

Then to select them, right click on one, then Select All.

You do not have to “ungroup” and create a new group. Instead you can “Enter the Group” and then edit what is inside the group:


Thank you for this, I wasn’t aware of grouped objects editing while they remain grouped. That’s a great tip. I guess, then the missing feature would be the ability to add an object to an existing group. If that was possible, it would already meet my initial request. I had hoped that after giving a name to the group I could use it somehow to add more objects to that group (?)

It’s not missing at all. Adding items to a group is also part of the editing possibilities.

I thought I had made it clear int the video I posted. In it, I first enter the group, then start adding via’s, and as I do so you see the boundaries of the group expanding. In the end I exit the group and move a single via, and the whole group (including the newly added via’s) move with it.

Oh, thank you. I somehow missed watching video as your post somehow already made the basis clear to me. I have tried it now, and I think I can do with this approach for now. Thanks again !!

I would want to explore this solution too, but I am mostly lost on how to create a via footprint. I don’t seem to find a way to create a via directly in the footprint editor. I tried to create a footprint with a single through hole pad dimensioned as a via, and this seems to work. However, now I do not know how to assign the GND Net to it? What am I missing?

“Via” is part of a track, footprints have only pads, and as you noticed, a PTH pad (plated through hole) can be physically identical to a via. That’s how you do it.

You need to have pad number in each pad. Use pad number 1. Then you can have a symbol for it in the schematic which has only one pin, for example similar to MountingHole_Pad symbol from the KiCad libraries. The symbol’s pin will be connected to the GND net.

If you don’t want to use a symbol – and this time you probably don’t because there are arbitrarily many footprints – you can just open the pad properties when the footprint is in the board and attach the pad to an existing net. Then it’s better to set “Not in schematic” attribute for the footprint so that it will not be deleted accidentally while updating the PCB from the schematic. If you already have many footprints, this can be done by selecting all pads (possibly using the Selection Filter panel) and changing the net in the Properties panel.

A Via is simply a small THT.

You can Create a Footprint and use One THT, set it’s Diam and Hole as desired.

Result aftet placing it on a Track

I tried this, and it works for the first one, but I guess no solution is perfect, because the copies of the first (via)footprint will lose their net assignment to GND, which forces me to manually assign it every time by explicitly connecting a net, as you suggested too.

Incidentally, real vias keep the same net when copied and pasted, which I suppose is by design because that makes things easier most of the time.

I like more this solution of creating a VIA-Footprint for this, because they look different than normal vias on the PCB, but loosing their assignment to GND every time I copy/paste them, makes it difficult to use. Not sure if there’s another way to overcome this issue

You must have (may have) selected the Footprint to Copy. You want to select the Pad (in the Footprint) to Copy/Paste…

Just wanted to clarify for you so you Know what works next time you do it

OK, that’s weird. If I copy/paste the object as Footprint, then the net assignment is lost.
If I Copy/paste the Pad then the net is preserved, but then the “Not in Schematic” tick is lost.
Ideally, both attributes should be preserved

A Footprint is a Footprint and if it has multiple Pad/connections, it would be locked into them. Thus, only usable for only the same Circuit with the Same Net-Names/connections.

If you had a Library with Via having a Net assigned to it, then you’d need to un-assign it in the next project (or usage in same project on different Net).

ADDED: And, you can always select multiple items and/or window-box select then, Assign a Net and/or take other action on them…

I understand your purpose. But I actually have that in some of my library symbols, particularly pins that are implicitly assigned to power nets and remain hidden in the schematic. It’s not that strange. Imagine a discrete analog switch device that is used many times in a schematic. By hiding the power pins, which would be many, the schematic becomes much easier to read.

If one or more pins are assigned implicitly to a net in the symbol library, then that means this is the intended purpose, and I should expect them to be always preserved when copying/pasting or moving around also in the PCB, unless the user explicitly changes their assigned net.

I created a symbol with a single pad implicitly assigned to GND, and it appears just fine on the PCB. But their duplicates have issues for my intended usage, as I also posted before. Namely, they lose their net.

At the end of the day, I suppose the best approach remains using normal vias grouped together also as described above

jsreynaud/kicad-action-scripts: Some KiCad plugins in Python (

I’m aware of that. I used the “via stitching” plugin in KiCad 7, but It just places vias according to a XY or Circular pattern. I would be nice if it would be clever enough to actually distribute vias in the available spaces between traces on the PCB, instead of blindly following the pattern and then just deleting the vias that result in conflicting rules.

If you Ctrl + D (Duplicate) the footprint the net assignment is retained.

At present, there is a bug in this plugin, which cannot be used in kicad8.0, waiting for the author to fix it