In general, "property" means something where KiCad code defines its
existence and it is a built-in piece of information about an object.

"field" means a special type of child object that some objects (e.g.
sheets, symbols, footprints) can have.  Fields are special text objects
that can have a name (key) and value.

The place where the lines are blurred here is that KiCad defines "built-in"
fields for symbols and footprints.  These are Reference, Value, Footprint,
Datasheet, and Description for footprints.

Why are these fields and not properties?  Well, part of it is just down to
how the code has evolved over a long time, and part of it is because it is
fairly standard to want to have the reference (and often value) show up as
fields (text objects that appear on the physical board) rather than just
properties (data inside the board).  Should the footprint and datasheet be
properties rather than fields?  Probably yes, but that ship sailed long ago.

The database library configuration file pulls out all "first-class"
information into top level keys for a library configuration, and uses the
"fields" array in the config file for *user-defined fields*.  So for
example even though there is a Footprint field on a symbol, you don't put
the footprint configuration in the "fields" section.  So, to answer your
original question, if you want to add custom data to your
symbols/footprints from the database, add them to the fields array in the
kicad_dbl file.

-Jon

On Tue, Mar 17, 2026 at 12:12 PM RAY5D <[email protected]> wrote:

> Hello, Kicad Devs
>
> I'm trying to setup a database library to manage my parts, but got a bit
> confused with whether to specify component parameters in "fields" or
> "properties" in the database config file. I found this forum post
> <https://forum.kicad.info/t/what-is-a-property-what-is-a-field/62078> which
> showed a rather mixed example and no replies, and this repo issue
> <https://gitlab.com/kicad/code/kicad/-/work_items/10404> which seemed to
> suggest they are synonymous. The Kicad documentation has no mention on how
> they are different either. Can someone explain if it's really only internal
> to the code base and doesn't matter in a user's view, or they are different
> and I should stick to a standard written down somewhere? And maybe the dev
> team's intention on how to handle the two types of parameters in future
> updates? Thanks!
>
> RAY5D
>
> --
> You received this message because you are subscribed to the Google Groups
> "KiCad Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion visit
> https://groups.google.com/a/kicad.org/d/msgid/devlist/ab6cc904-21d9-409d-a1f2-84f9a1000e95n%40kicad.org
> <https://groups.google.com/a/kicad.org/d/msgid/devlist/ab6cc904-21d9-409d-a1f2-84f9a1000e95n%40kicad.org?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"KiCad Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/a/kicad.org/d/msgid/devlist/CA%2BqGbCBnczSzCP-8ZEm095h%2BPRVTYW3_G9N7m50bEdi8LpCHZA%40mail.gmail.com.

Reply via email to