Proposal: Use livestock=* to describe animals independently from products and industrial activities

Hello everyone,

I recently documented the livestock=* key on the OSM Wiki and would like to discuss a broader use of this tag.

My goal is to use livestock=* consistently to describe which animals are present , while using other tags to describe the products , or activity associated with those animals.

Current situation

In some cases, animal species and purpose are combined into a single value. For example:

  • livestock=broilers
  • livestock=laying_hens

Similarly, there are tags such as:

  • industrial=poultry_processing

These tags mix information about the animal with information about how they are used.

Proposal

Use livestock=* only to describe the animal species.

Examples:

  • livestock=chicken
  • livestock=cattle
  • livestock=pig
  • livestock=sheep

Additional tags can then describe the purpose or products.

For example:

Current:

  • livestock=broilers

Proposed:

  • livestock=chicken
  • product=meat

Current:

  • livestock=laying_hens

Proposed:

  • livestock=chicken
  • product=egg

This separates the animal from the animal products they are used for and avoids creating many species-animal product combinations.

Slaughterhouses and processing facilities

The same principle could be applied to industrial facilities.

Instead of:

  • industrial=poultry_processing

we could use:

  • industrial=slaughterhouse
  • livestock=chicken

or more generally:

  • industrial=slaughterhouse
  • livestock=*

This allows a single tagging scheme to be used for poultry, cattle, pigs, sheep, and other livestock.

Livestock buildings

The key could also be used with building=livestock to indicate which animals are housed in the building.

Examples:

  • building=livestock + livestock=chicken
  • building=livestock + livestock=pig
  • building=livestock + livestock=cattle

Benefits

  • Separates animal species from products and activities.
  • Reduces the need for many specialized values.
  • Creates a consistent tagging approach for farms, livestock buildings, slaughterhouses, and processing facilities.
  • Makes data easier to query and analyse.

I would be interested in hearing whether others think this direction makes sense, and whether existing livestock-related values should be migrated toward a species-based approach. For transparency I made a few changesets already with the tag review_requested=yes and then someone pointed out that changes of this size should be proposed in the forum first.

3 Likes
  • livestock=
    • As I mentioned in the last post, this can’t be used for your proposed =wild_game slaughtering by definition. Something purpose-netural along animal= is needed.
    • Was bulk added, and majority being =fish (less associated in common language, and some definitions don’t include this)
  • livestock=chicken + product=meat : =broilers means chicken raised for meat. There are dual-purpose chicken. This has further relevance for cows, and dairy cows becoming meat.
  • building=livestock : Overlaps with existing =chicken_coop , =sty , and =cowshed , unless you want it to replace =cafo

Be aware industrial=poultry_processing was proposed by one user unilaterally with a heavy debate. I added notes about it yesterday.

I have noticed your edits to industrial=slaughterhouse yesterday, thank you for discussing the issue here. Referring to livestock=chicken, it has only one third of usage of livestock=poultry livestock | Keys | OpenStreetMap Taginfo (but both are quite low numbers).

Some normalization could surely be useful, in particular plural vs. singular, there are some singular values like chicken, horse, duck, pig, lamb but most values are in the plural form.

I agree with @Kovoschiz that building=livestock should be discouraged if you know the specifics, because it only has a few thousand uses compared to milions of farm_auxiliary, 53000 stable, 29000 sty and 34000 cowshed.

Thank you both for your feedback!

One reason I suggested separating the animal from the products is that it can also represent animals with multiple products. For example, a dual-purpose chicken could be tagged as:

livestock=chicken
product=egg;meat

Similarly, a dairy cow that is also ultimately used for meat could be tagged as:

livestock=cattle
product=milk;meat

With values such as broilers and laying_hens, a dual-purpose chicken would require an additional category. More generally, a separate value would be needed for each animal-product combination.

My original thought was that livestock=game could potentially be used for farmed game animals, while wild game animals would be a separate case.

Thinking about it further, it may actually make more sense to use the animal itself where known, for example livestock=deer , rather than a generic value such as game . This would be more consistent with the broader idea of using livestock=* to describe the animals present, while using other tags to describe products or activities.

For wild game animals, however, I agree that livestock=* would not be appropriate, because those animals are not being managed as livestock. In that case, a purpose-neutral key such as animal=* may indeed be a better fit.

I think that is a fair point.

Given the widespread use of values such as building=stable , building=sty , building=cowshed , I do not think it would be wise to replace them at the moment.

Perhaps building=livestock + livestock=* could be used when there is no established building tag for a particular type of animal housing yet.

I agree. If a choice were to be made, my preference would be for singular (that also seems to be the most common approach for animal=*)

After thinking about it more, I am starting to feel that animal=* might actually be a better fit than livestock=* .

I originally preferred livestock=* because I had seen it used in several wiki articles and because it reflects how the animals are managed. However, that information can often already be inferred from other tags such as industrial=slaughterhouse or building=livestock .

Using animal=* would make the tag purely about which animals are present, while other tags describe their purpose or products.

2 Likes

I have reverted your automated edits for now; after this discussion has come to a conclusion and there is consensus with some form of documentation on the wiki, you are free to repeat the edit linking to that documentation. Be sure to also have a look at What's the problem with mechanical edits? - OpenStreetMap Wiki to understand potential issues with an automated edit like that and think about how to avoid the problems described there.

But since your edit the wiki page for industrial=slaughterhouse still recommends livestock=*.

Usage as of 6 June 2026:

industrial=slaughterhouse + animal=*: 31 x
industrial=slaughterhouse + livestock=* : 2 x

And there are also multiple recommendations on Key:livestock that do not reflect current usage.

Usage as of 6 June 2026:

landuse=farnyard + animal=chicken: 155 x
landuse=farnyard + livestock=chicken : 8 x

landuse=farnyard + animal=pig: 33 x
landuse=farnyard + `livestock=pig: 2 x

landuse=farnyard + animal=sheep: 11 x
landuse=farnyard + livestock=sheep: 2 x

landuse=meadow + animal=sheep: 207 x
landuse=meadow + livestock=sheep: 2 x

General comparison for farmyard and meadow:

landuse=farnyard + animal=*: 385 x
landuse=farnyard + livestock=*: 133 x

landuse=meadow + animal=*: 2744 x
landuse=meadow + livestock=*: 76 x

Just to add, that landuse=* and animal/livestock=* must be independent from each other. If animals are present on a meadow, it’s a landuse=meadow regardless of what animals are there.

1 Like

If animals are there, it is likely also a meadow=pasture, 75k uses

I have now reverted the wiki pages to the state before I made the edits.

Thank you @Huftkratzer for all the comparisons. When I originally wrote this post I had not heard about the website TagInfo yet. So it seems that the current usage of the tag animal=* is a lot more than livestock=*.

Previous feedback made me change my mind that animal=* would be a better tag to separate the animal from the usage/product. Seeing the current usage, I would like to alter my proposal to recommend the key animal=*. I hope to soon get around to updating my proposal.

I absolutely agree with you there @aighes .

@De_mammoet I wrote some stuff into Key:animal - OpenStreetMap Wiki which formerly was just a link to Animals - OpenStreetMap Wiki; feel free to improve it and to clean everything up :grinning_face:

1 Like

I used livestock=* (cattle, sheep, horses, &c. and combinations) sometimes on certain place=farm nodes (alpine pastures mostly.) It would never have occurred to me to tag animal=*, because I my mind that is linked to cages in a zoo. Perhaps in that vein, it would never have occurred to me to tag livestock on a slaughterhouse. Animals brought there to die, not to live.

Comparison for places:

place + livestock : 56 x, mostly cattle and some fish
@type @id livestock place name @count
node 410366179 cattle farm Ganalm
node 882395186 horses farm Fraderalm Hochleger
node 1484760113 cattle farm Schermsteinalm
node 1639183811 cattle farm Kastnerbergalm
node 1987163928 cattle farm Alpiglalm
node 3471347217 fish farm Ferme piscicole de Sanogo
node 3471368499 fish farm Ferme Piscicole de Kouma
node 3471419712 fish farm Ferme piscicole de Chaka Traore
node 4035790591 pigs farm Los Valle
node 4267023038 cattle farm Arztalalm Hochleger
node 4267023039 cattle farm Arztalalm Niederleger
node 8196572598 cattle farm Frader Alm
node 8196572599 cattle farm Haideggeralm
node 8196572600 cattle farm Binteralm
node 10075742310 cattle farm Thaurer Alm
node 10075792202 cattle farm Rumer Alm
node 10075792226 sheep farm Bodensteinalm
node 10075866521 cattle farm Arzler Alm
node 10733735930 cattle;horse farm Krimpenbachalm
node 11087455664 cattle farm Hƶttinger Alm
node 11089136411 cattle farm Rinner Alm
node 11089136412 goats farm Aldranser Alm
node 11089136413 cattle farm Sistranser Alm
node 11089136414 cattle farm Profeglalm
node 11091971815 cattle farm Mutterer Alm
node 11091989365 cattle farm Birgitzer Alm
node 11091995628 cattle farm Schafalm
node 11092024453 cattle farm Issalm
node 11092024454 cattle farm Zehenter Alm
node 11092024455 cattle farm Kreither Alm
node 11092024456 cattle farm Fritzenalm
node 11092024457 cattle farm Frontalalm
node 11092024458 cattle farm Pfoner Ochsenalm
node 11092024459 cattle farm Patscher Alm
node 11092024460 cattle farm Lanser Alm
node 11123565026 cattle;horses farm Juifenalm
node 11142028295 cattle farm Dalfazalm
node 11142084823 cattle farm Teisslalm
node 11142084851 cattle farm Mauritzalm
node 11167814644 cattle farm Seekaralm
node 11167949913 cattle farm Pasillalm
node 11178606809 cattle farm Pletzachalm
node 11202021987 cattle;pigs farm Oberbrunnalm
node 12096023666 cattle farm Raitiseralm
node 12109316618 cattle farm BƤrenbadalm
node 13186342463 cattle farm Holzalm
node 13758478895 fish farm Jackson’s Trout Farm
way 4598553 fish islet
way 4719292 fish islet
way 13872901 fish islet
way 125605956 cattle farm Biohof Wahsner
way 437387821 fish islet
relation 2913361 fish islet Dilayuping Island
relation 11289766 fish islet
relation 11289767 fish island
relation 11289768 fish islet
count 0 56

(most of these cattle farms seem to be from you)

place + animal : 54 x, other animals, many chicken
@type @id animal place name @count
node 3678289978 sun bear yes Robert and Kathy Williams Sun Bear Forest
node 4324461489 Asian elephant yes Berges Family Elephant Springs
node 4705056138 horse farm Yeguada Juan Clavero
node 5648426549 pigs farm La Honda
node 6083068023 horse farm Los Chilos
node 6659476742 pig farm El Porvenir
node 6754361603 cow farm Puerto triunfo
node 7307536716 cow farm Mirador del Hogar
node 8810784767 alpaca farm Alpakahof Wetzlarn
node 13136881287 pig farm Rancho Pacheco France
node 13793025102 chicken farm Granja AvĆ­cola PRONACA
way 80018798 yes islet Eekt
way 80043882 leashed islet Pierland
way 80044417 leashed islet De Ral
way 80129567 yes islet De Biezen
way 80139909 leashed islet De Dode Hond
way 80142456 leashed islet Huizerhoef
way 95475091 Orangutan islet
way 128110708 yes locality Moulin du Gros Fahis
way 215068100 pigs;sheep;chicken;bees farm Gut PannstƤdten
way 444434212 sheep farm
way 452090757 sheep farm
way 507842506 leashed islet De Kluut
way 681293337 birds islet Ilha dos biguƔs
way 683025600 birds islet
way 683025601 birds islet
way 683281555 birds plot
way 687533852 camel farm Царство Š²ŠµŃ€Š±Š»ŃŽŠ“ов
way 697575437 sheep isolated_dwelling Ų¢ŲŗŁ„
way 727610510 birds square PraƧa da Igreja Matriz
way 783791115 cattle farm HS Angus
way 785275661 Gibbon islet Gibbon
way 785275662 Spider Monkey islet Spider Monkey
way 854316575 chicken farm Granja Eldorado
way 888679855 birds islet
way 888679856 birds islet
way 896320890 chicken farm
way 896320896 chicken farm
way 921535165 chicken farm Granja Palacete
way 1519546987 parrot square é¹¦é¹‰å¹æåœŗ
relation 11703152 chicken farm Granja Santa Luzia
relation 12095700 chicken farm Granja FuruyĆ” - Sol Nascente II
relation 12095703 chicken farm Granja FuruyĆ” - Sol Nascente I
relation 12139784 chicken farm
relation 12139798 chicken farm
relation 12189096 chicken farm Graja União
relation 12203226 chicken farm
relation 12215676 chicken farm Granja Pedacinho do CƩu
relation 12215682 chicken farm
relation 12386541 chicken farm Granja Santa Rita
relation 12484711 chicken farm Granja Jurupita
relation 12484712 chicken farm
relation 12484713 chicken farm
relation 12484714 chicken farm Pinto Formoso
count 0 54

General comparison for cattle and fish:

livestock=cattle : 175 x
animal=cattle : 232 x

livestock=fish : 3466 x
animal=fish : 55 x

There are 42 place=farm in my local area with a livestock tag, they are all by me. Quite a bit. After all, I only map when prompted to. There are 2082 farms of that kind (alpine pastures) in my local area according to administrative data. I guess life’s too short, after all I have to survey them before mapping.

PS: Some times while on survey, I found those administratively maintained ā€œfarmā€ data-points no farms at all. I have no idea how to get a number from overpass on these occasions.

I would like to take back my original proposal. Instead I would like to propose to recommend using animal=* over livestock=* to describe which animals are present. I would like to propose to keep the animal separate from the product/usage. For example we could recommend using animal=chicken + product=egg instead of animal=broiler.

Existing tags that are commonly used such as building=cow_shed, building=sty, building=stable we should encourage to use. For other animals that don’t have their own building name we could recommend building=livestock + animal=*

How does it normally work with proposals? Is there a voting system?

yes Proposal process - OpenStreetMap Wiki

This subject is discussed here and preceding discussions. I proposed to use building=livestock + animal=* for any building built to house animals and am still in favour of it.

However, I think it is preferable to deprecate the use of livestock as a key and tag value and use animal exclusively. Having animal as a key and tag value that covers all animals, why have another one for a specific group of animals? ā€œLivestockā€ is a word with a specific subtle meaning that I guess many non-native English speakers don’t get. Let’s keep it simple and get rid of it!

1 Like

Can it get any simpler than using livestock=* to signify, whether animals are kept for amusement or for production?

Hmm… indeed as a tag value it makes sense to describe a somewhat vague group of animals: animal=livestock (and animal=game, animal=insects, etc.)

Related discussion in iD repository: