Tagging useful information in OpenStreetMap

Tagging useful information in OpenStreetMap

by Onni Hakala

I’ve been recently thinking of creating a new map which would help with following questions:

  • 👨‍💻 How can I find a cafe which is laptop friendly?
  • 🐶 Can I bring my dog along?
  • 🪑 How can I find a restaurant which has a chair for toddlers?
  • 🛝 Is there a play area for children?
  • 🚾 Are there a diaper changing tables in the toilet?
  • 🚐 Where can I park a bigger motorhome?
  • 🍽️ Does the restaurant have a lunch buffet?

I found that OpenStreetMap can already answer to many of these questions. The caveat here is that it requires special tags which aren’t yet widely used. I wanted to document some of them here so that more people could contribute useful information into OpenStreetMap 🗺️.

📱

Editing OpenStreetMap on the go:

OpenStreetMap data model

Let’s look at example row from OpenStreetMap data. Here’s a simplified free parking place with a toilet in Estonia:

kindtagslatitudelongitude
node/20438219{amenity=parking, fee=no, toilets=yes}59.46…25.75…

OpenStreetMaps tags can have basically anything written in them. Luckily during the 20 years of it’s existence contributors have agreed on certain conventions. Typically the main tag is something like amenity=cafe or amenity=parking or amenity=library. Then in addition there are extra tags like toilets=yes or fee=no. The main amenity tags have been well documented and it helps to find the main activity quite well. But the extra tags are more useful ones because they help to filter places which contain the features we want to have.

Some of them are pretty hard to find so I tried my best to document my findings here for places which are important to myself. You can find more about the tagging conventions by asking in community.openstreetmap.org or by reading wiki.openstreetmap.org.

Useful OpenStreetMaps tags for families 👩‍👩‍👧‍👧 👶 🍼

These should help finding restaurants/stores/cafes where it’s much easier to spend time with children:

Tag nameTag ValueInfo
kids_areayes / noThe place has separate play area for kids 🧸
kids_area:indooryes / noIndoor play area for kids 🕹️
kids_area:outdooryes / noOutdoor play area for kids 🛝
highchairyes / noFeeding chair for toddlers or babies 👶
infant_bedyes / noThere’s a crib available for babies to sleep in. This is usually in a hotel 🛏️
toiletsyes / noDoes the place have a toilet 🚾
changing_tableyes / noAre there diaper changing tables 🧷
strolleryesThere are no steps so it’s effortless to enter with a stroller 🛒 𓊍
wheelchairyesEffortless entrance with wheelchair. (Be nice and add this too when adding info on Stroller) ♿
strollerlimitedEntrance has a step but not higher than 15 cm ⛰️ 🥵
wheelchairlimitedEntrance has a step but not higher than 7 cm 📏

Useful OpenStreetMap tags for a lunch place 🍽️

Especially in Finland many places offer separate much more affordable menu during lunch times. Many of my friends follow One-Meal-A-Day diet so when I want to see them for a lunch I have to figure out if there’s a buffet because they will not join me otherwise 😅.

Tag nameTag ValueInfo
lunchbuffetRestaurant serves lunch around midday with a buffet. In Finland the buffet typically means all you can eat buffet 🍝
lunch:buffetMo-Fr 10:30-14:00The service hours for the buffet lunch 🕛
lunchmenuLunch is offered as a fixed-price with more limited options 👨🏻‍🍳
lunch:menuMo-Fr 10:30-14:00The service hours for the fixed-price menu lunch ⏱️

Useful OpenStreetMap tags for dog owners 🐕‍🦺 🐕

Tagging Restaurants, Pubs, Cafes, Museums, Beaches is very useful so dog owners and also people who are allergic to dogs will know if they should enter.

Tag nameTag ValueInfo
dogyesDogs allowed 🐕
dogoutsideDogs allowed on outdoor area like terrace 🦮
dognoDogs are not allowed at all ❌
dogunleashedDogs allowed without a leash. Typically this is inside a fenced area in dog park 🐾

Useful OpenStreetMap tags for laptop friendly places 💻

When I’m traveling around it’s nice to find places which are good for working with laptop. Laptop friendly is of course subjective and OpenStreetMaps doesn’t have a separate tag for that. But if many of these tags do appear in the list it’s very likely that the place is nice for having a cup of coffee and doing some remote work too.

Tag nameTag ValueInfo
internet_accesswlanThere’s a wifi which can be used 📶
indoor_seatingyes / noIf the place has place to sit down 🪑
outdoor_seatingterraceIf they have a terrace ☀️
air_conditioningyes / noIf they have AC or not 🥵
power_supplyyes / noIf there are power outlets which can be used 🔋
socket:schuko5How many schuko type outlets they have (this is for Europe) ⚡
coworkingyes / noI have been using this tag if a cafe or a library has designated area for coworking. This is not widely used for now. 🧑‍💻
meeting_roomyes / noFor example a library or coworking place can have separate rooms for meetings. This is nice if you don’t want to bother others during your phone calls 📞 💢
televisionyes / noDoes the place have a television? Hopefully answer is “no” so you can actually focus on work instead of watching football ⚽ 🏈 😄

Useful OpenStreetMap tags for motorhomes 🚐

It’s sometimes surprisingly hard to find parking places near the cities where motorhomes are allowed and can be parked. For example have been using motorhome=yes tag wherever we have been able to park our car and where it hasn’t been explicitly banned 🅿️.

Tag nameTag ValueInfo
caravansyes / noIf entering with motorhome or caravan is allowed 🚐
motorhomeyes / noIf entering motorhome is allowed (but perhaps with a caravan it is not possible) 🚐
power_supplyyes / noCamping site or parking place has power outlets 🔌
sanitary_dump_stationyes / noBlack or Gray water can be emptied here 🕳️
sanitary_dump_station:chemical_toiletyes / noOnly black water from the toilet can be emptied here 🚽 🧻
sanitary_dump_station:grey_wateryes / noOnly gray water can be emptied here 🚱
drinking_wateryes / noDrinking water container can be filled here 🚰
feeyes / noIs payment required for the tagged services 💸

Useful OpenStreetMap tags for finding saunas 🧖‍♀️🧖‍♂️

In Finland we have 5.5 million people and estimated 1.5-2 million saunas. During 2025 only few hundred of the saunas have been tagged into OpenStreetMap. Marking a public sauna near you will help others to find it and use it too. I was surprised how nicely overengineered the conventions for a sauna are already at this point.

Tag nameTag ValueInfo
saunayesThere’s a some sort of unknown sauna ♨️
saunahotA Finnish-style sauna with a temperature of over 60°C usually because of the water thrown on the rocks of the stove 🌡️
saunasmokeFinnish style smoke sauna 💨
sauna:wateryes / noAre you allowed to throw water to the stove or is this only a silly warm room like the ones in Germany 🇩🇪
sauna:fuelwoodNice extra information to know because electric saunas often don’t have a good air circulation compared to wood burning saunas 🔥
gender_segregatedyes / noIf there are separated saunas or rooms or timeslots solely for different sexes 🚻
accessyesIf anyone can use the sauna (freely or by paying) ✅
accesscustomersIf the sauna is only included for hotel / camping guests but not for others 🚷

Useful OpenStreetMap tags for business owners

If you offer services for people in any of the above categories it costs you 0€ to update your information into OpenStreetMaps. This will bring more customers to you because these tags are used widely in hundreds of different applications and then their users will know that you offer these special services 💰 📈

Would you want to help on filling in the gaps?

If you’re reading this up to this point I would really appreciate if you would download one of the apps in the beginning and would tag the places you visit commonly with this information in mind.

Thanks in advance 🙇😊!

Querying OSM data with tags using duckdb

This blog is orientated for fellow software minded people. If using command line interface is not familiar to you I recommend stopping here.

# Download 648 Mb file of whole Finland 🇫🇮
curl -O 'https://download.geofabrik.de/europe/finland-latest.osm.pbf'

# Find all places with a play area for kids ( it's currently very few 😞 )
duckdb -c "
  LOAD spatial;
  SELECT 
    'https://www.openstreetmap.org/' || kind || '/' || id as url,
    tags['name'] as name,
    tags['amenity'] as amenity,
  FROM 'finland-latest.osm.pbf'
  WHERE tags['kids_area'] = 'yes'
"

When you see the sad result of this query I hope it motivates you to participate more in your own home country 🌎 🌍 🌏