What all file metadata is available in macOS?

Applications on macOS store similar types of metadata in Info.plist files stored within the application bundles themselves.

For example to see the metadata available for Safari you can run the following command in a Terminal window.

plutil -p /Applications/Safari.app/Contents/Info.plist

Or to get the version of Safari specifically you can run...

plutil -p /Applications/Safari.app/Contents/Info.plist | grep CFBundleShortVersionString


While helpful, the accepted answer is incomplete.

  • OP wanted a list of all file metadata in macOS.
  • The question is valid, but an exhaustive list don't exist afaik, as the set of metadata attributes is dynamic.
  • New keys are added e.g. whenever you install new software, and also appears to reflect which user is currently logged in.

1. The mdls man-page refers to the mdfind page under SEE ALSO:

$ man mdls
  (...)
  SEE ALSO
       mdfind(1), mdutil(1) xargs(1)

2. Looking up the mdfind manual

$ man mdfind
  (...)
      To get a list of the available attributes for use in constructing queries, 
      see mdimport(1), particularly the -X switch.

3. Querying mdimport

(today is December 24th, 2019 - on my desktop running macOS 10.15.2 (19C57)

$ mdimport -X
  (...)
Schema: id(501) {
    Attributes =     {
        MessageGUIDs =         {
            multivalued = 1;
            name = MessageGUIDs;
            nosearch = 1;
            type = CFString;
        };
        "_kMDItemDomainIdentifier" =         {
            multivalued = 0;
            name = "_kMDItemDomainIdentifier";
            nosearch = 1;
            notokenize = 1;
            type = CFString;
        };
        "_kMDItemUserTags" =         {
            multivalued = 1;
            name = "_kMDItemUserTags";
            nosearch = 1;
            type = CFString;
            uniqued = 1;
        };
        "com_DEVONtechnologies_think_DatabaseName" =         {
            multivalued = 0;
            name = "com_DEVONtechnologies_think_DatabaseName";
            type = CFString;
            uniqued = 1;
        };
  (...)