Skip to content
219+ plans · available now · commercial license
Guide

Create a city map

Creating a city map means turning open geodata into a readable map: choose the extent, grade the streets by importance, label what matters and leave out the rest. With QGIS and OpenStreetMap it costs nothing but time – with a ready-made vector base you start at step four.

QGIS · OpenStreetMap
6 steps · free route available

Decision

Three routes – which one fits you?

Route Time Cost Control When it makes sense
Online generator Minutes free to moderate limited A one-off with no design ambition. Read the licence terms first – they vary a great deal.
Yourself in QGIS Hours to days time only complete When the map has to look exactly the way you picture it – or when you want to learn the route once and for all.
A ready-made vector plan as the base Minutes a few euros complete from step 4 on When the city is in the catalogue and time is short: sourcing and preparing the data falls away, but you still do the design yourself.

Guide

Draw a city map – in six steps

  1. 01

    Decide on the extent and the purpose

    A city map for a poster shows something different from one for a brochure. Decide first how large the map will be and from what distance it will be read – how much extent fits and how small the type may go both follow from that.

  2. 02

    Get the geodata

    OpenStreetMap covers streets, buildings, green space, water and rail worldwide. Ready-made extracts come from Geofabrik, targeted queries from Overpass. For Germany, the open base geodata of the federal states comes on top.

  3. 03

    Load into QGIS and clip to the extent

    Each category as its own layer: streets, buildings, water, green, rail. Clip before you style, not after – a map holding half of Bavaria in memory redraws on every change.

  4. 04

    Grade the streets by importance

    This is the step that decides legibility. Motorway, main road, side street and footpath need different line weights – in OpenStreetMap the classification sits in the “highway” field and can be used directly as a styling rule.

  5. 05

    Label – and leave out

    Not every street gets a name. Label the ones people navigate by. Labels run along the line, not across it, and never overlap: in QGIS the collision detection handles that once you switch it on.

  6. 06

    Scale, legend, attribution and export

    A scale bar rather than a scale ratio, a north arrow, a short legend and the attribution for the map data. Export as vector PDF or SVG – then the map stays crisp from postcard to poster.

Craft

What makes a city map legible

Nobody fails on the data any more. Home-made city maps fail on five things, and all five are decisions, not tool questions.

01

Hierarchy before completeness

A city map on which every street looks the same is unreadable – even when it is complete. Three or four line-weight levels are enough for a city of any size.

02

Leaving out is design

The commonest mistake in a home-made city map is keeping everything the data contains. House numbers, fences, individual trees and car park areas belong out at most scales.

03

Few colours, clearly separated

Water blue, green space green, everything else in greys – nearly every city map gets by on that. Colour is a signal; when everything is coloured, nothing signals any more.

04

Type is part of the map, not on top of it

Labelling follows the geometry: street names run with the street, area names sit inside the area. A light halo around the type keeps it readable without erasing the lines beneath.

05

One scale, one level of detail

A map showing every building in the centre and only main roads at the edge looks unfinished. Either the detail is even throughout – or the transition is deliberately designed and visibly meant.

What it is good for

City map, figure-ground plan, site plan, location map

Four maps of the same place, four different purposes. Build the wrong type and you do the work twice.

Type What it shows For what
City map this page A readable map of an urban area with street hierarchy and labelling Orientation, brochure, poster
Schwarzplan (figure-ground plan) Nur Gebäude, schwarz auf weiß – bebaut gegen unbebaut Urban design, analysis
Lageplan (site plan) One plot with its surroundings, true to scale Planning, building application
Location map A simplified route to a destination; may distort Invitation, letterhead, legal notice

Legal position

Which data you may use

You may use OpenStreetMap, commercially too, with the attribution “© OpenStreetMap contributors”. You may not use a screenshot from Google Maps as your base – their terms allow embedding the map, not freely reusing an extent in your own material.

On top of that come the open base geodata of the German federal states, usually under Datenlizenz Deutschland with a prescribed attribution. If you pass the data on as a dataset rather than as a finished map, OpenStreetMap additionally requires you to observe the ODbL.

This overview describes common practice and is not legal advice.

Shortcut

Start at step four

Steps two and three – fetching, loading, clipping the data – are the dull ones. A ready-made vector plan brings them along: streets, buildings, water, green and rail on separate layers, true to scale and already cropped. You still do the design yourself, and that is the part worth doing.

All Plans
290 plans available
Aachen Deutschland 10 €
Aalen Deutschland 10 €
Alzenau Deutschland 10 €
Amberg Deutschland 10 €
Amsterdam Niederlande 10 €
Antwerpen Belgien 0 €
Apeldoorn Niederlande 15 €
Arnhem Niederlande 15 €
Aschaffenburg Deutschland 10 €
Athen Zentrum Griechenland 0 €
Atlanta USA 0 €
Augsburg Deutschland 10 €
Aussig Tschechien 10 €
Backnang Deutschland 10 €
Bad Dürkheim Deutschland 10 €
Bad Gandersheim Deutschland 10 €
Bad Segeberg Deutschland 10 €
Bamberg Deutschland 10 €
Bangalore Indien 0 €
Barcelona Spanien 0 €
Basel – Weil am Rhein – Lörrach Deutschland 15 €
Bath Großbritannien 10 €
Bautzen Deutschland 10 €
Bayreuth Deutschland 10 €
Beirut Libanon 15 €
Belgrad Serbien 0 €
Bensheim Deutschland 10 €
Berlin Deutschland 10 €
Bern Schweiz 10 €
Biel Schweiz 10 €
Bielefeld Deutschland 10 €
Bietigheim Bissingen Deutschland 10 €
Bilbao Spanien 10 €
Bochum Deutschland 10 €
Bologna Italien 10 €
Bonn Deutschland 10 €
Bordeaux Frankreich 0 €
Boston USA 0 €
Bozen Italien 10 €
Brasov Rumänien 10 €
Bratislava Slowakei 10 €
Braunschweig Deutschland 10 €
Breda Niederlande 10 €
Bregenz Österreich 10 €
Bremen Deutschland 10 €
Bremerhaven – Wilhelmshaven Deutschland 10 €
Breslau Polen 10 €
Broons Frankreich 10 €
Brügge Belgien 15 €
Brünn Tschechien 10 €
Brüssel Belgien 10 €
Budapest Ungarn 0 €
Budweis Tschechien 10 €
Bukarest Zentrum Rumänien 0 €
Bünde – Kirchlengern – Löhne Deutschland 10 €
Cagliari Italien 10 €
Cambridge Großbritannien 0 €
Catania Italien 10 €
Chemnitz Deutschland 10 €
Chicago USA 0 €
Chiemsee-Region Deutschland 10 €
Coburg Deutschland 10 €
Cottbus Deutschland 10 €
Cuxhaven Deutschland 10 €
Dallas USA 0 €
Danzig Polen 10 €
Darmstadt Deutschland 10 €
Den Haag, Delft, Leiden Niederlande 10 €
Dessau-Roßlau Deutschland 0 €
Detmold Deutschland 10 €
Dijon Frankreich 10 €
Dolomiten – Cortina d’Ampezzo Italien 10 €
Donostia-San Sebastián Spanien 10 €
Dorsten – Schermbeck – Haltern am See – Marl Deutschland 10 €
Dortmund Deutschland 10 €
Dresden Deutschland 10 €
Dublin Irland 0 €
Duisburg – Oberhausen – Bottrop – Mülheim – Moers – Krefeld Deutschland 10 €
Düsseldorf Deutschland 15 €
Edinburgh Großbritannien 0 €
Eindhoven Niederlande 10 €
Eisenstadt – Wiener Neustadt Österreich 10 €
Erfurt Deutschland 10 €
Erlangen Deutschland 10 €
Essen Deutschland 10 €
Esslingen am Neckar Deutschland 10 €
Flensburg Deutschland 10 €
Florenz Italien 0 €
Frankfurt (Oder) Deutschland 10 €
Frankfurt am Main Deutschland 15 €
Freetown Sierra Leone 0 €
Freiburg Kanton Schweiz 10 €
Freiburg im Breisgau Deutschland 10 €
Freising Deutschland 10 €
Freudenstadt Deutschland 15 €
Friedrichshafen Deutschland 10 €
Fulda Deutschland 10 €
Fügen Österreich 10 €
Garmisch-Partenkirchen Deutschland 10 €
Gelnhausen Deutschland 15 €
Gelsenkirchen – Recklinghausen – Herne Deutschland 10 €
Genf Schweiz 0 €
Genua Italien 10 €
Gießen Deutschland 10 €
Glasgow Großbritannien 0 €
Graz Österreich 10 €
Greifswald Deutschland 10 €
Groningen Niederlande 10 €
Göteborg Schweden 10 €
Göttingen Deutschland 10 €
Götzis Appenzell Feldkirch Österreich 10 €
Haarlem Niederlande 10 €
Halberstadt Quedlinburg Gernrode Deutschland 10 €
Halle (Saale) Deutschland 10 €
Hallstatt – Schladming Österreich 10 €
Hamburg Deutschland 10 €
Hamm – Soest Deutschland 10 €
Hanau Deutschland 10 €
Hannover Deutschland 10 €
Heidelberg Deutschland 10 €
Heilbronn Deutschland 15 €
Helsinki Finnland 0 €
Herford – Bad Salzuflen Deutschland 10 €
Hildesheim Deutschland 10 €
Hollywood – LA USA 0 €
Hong Kong Hongkong 0 €
Ingelheim, Rhein Deutschland 10 €
Ingolstadt Deutschland 10 €
Innsbruck Österreich 10 €
Insel Rügen Deutschland 10 €
Istanbul Türkei 0 €
Jena Deutschland 10 €
Jerusalem Israel 0 €
Kaiserslautern Deutschland 10 €
Karlsbad Tschechien 10 €
Karlsruhe Deutschland 10 €
Kassel Deutschland 10 €
Kathmandu Nepal 0 €
Kattowitz Polen 10 €
Kaufbeuren Deutschland 10 €
Kempten Deutschland 10 €
Kiel Deutschland 15 €
Kitzbühel – St. Johann Österreich 10 €
Klagenfurt Österreich 10 €
Klausenburg Rumänien 10 €
Koblenz Deutschland 10 €
Konstanz Deutschland 15 €
Kopenhagen Dänemark 10 €
Krakau Polen 10 €
Köln Deutschland 15 €
Königgrätz Tschechien 10 €
Landshut Deutschland 10 €
Lausanne Schweiz 10 €
Le Mans Frankreich 10 €
Lech Zug Österreich 10 €
Leipzig Deutschland 10 €
Leonberg Deutschland 10 €
Lienz Österreich 10 €
Lille Frankreich 10 €
Lindau Deutschland 10 €
Linz Österreich 10 €
Lissabon Portugal 0 €
Liverpool Großbritannien 0 €
Ljubljana Slowenien 0 €
London Großbritannien 10 €
Luxemburg Luxemburg 10 €
Luzern Schweiz 15 €
Lyon Frankreich 10 €
Lübeck Deutschland 10 €
Lüdinghausen Deutschland 10 €
Lüneburg Deutschland 10 €
Maastricht Niederlande 10 €
Madrid Spanien 0 €
Magdeburg Deutschland 10 €
Mailand Italien 10 €
Mainz – Wiesbaden Deutschland 10 €
Malmö Schweden 0 €
Manila Philippinen 0 €
Mannheim – Ludwigshafen Deutschland 10 €
Marburg Deutschland 10 €
Marseille Frankreich 10 €
Meran Italien 10 €
Metz Frankreich 10 €
Miami USA 0 €
Minden – Bad Oeynhausen Deutschland 10 €
Minsk Weißrussland 10 €
Montpellier – Lunel Frankreich 10 €
Moskau Russland 0 €
Mulhouse Frankreich 10 €
Mumbai Indien 0 €
Mönchengladbach Deutschland 15 €
München Deutschland 15 €
Münster Deutschland 10 €
Nancy Frankreich 10 €
Nantes Frankreich 10 €
Nauders Österreich 5 €
Neapel Italien 15 €
New York USA 0 €
Nürnberg Deutschland 10 €
Oldenburg Deutschland 10 €
Olmütz Tschechien 10 €
Oslo Norwegen 10 €
Osnabrück Deutschland 10 €
Paderborn Deutschland 10 €
Palermo Italien 10 €
Pardubitz Tschechien 10 €
Paris Frankreich 15 €
Passau Deutschland 10 €
Pfaffenhofen an der Ilm Deutschland 10 €
Pforzheim – Singen – Remchingen Deutschland 10 €
Posen Polen 10 €
Potsdam Deutschland 15 €
Prag Tschechien 10 €
Radolfzell Deutschland 10 €
Ravensburg Deutschland 10 €
Regensburg Deutschland 10 €
Reichenberg Tschechien 10 €
Reykjavik Island 0 €
Riga Lettland 0 €
Rom Italien 0 €
Rosenheim Deutschland 10 €
Rostock Deutschland 10 €
Rotterdam Niederlande 10 €
Rudolstadt – Saalfeld – Bad Blankenburg Deutschland 10 €
Saalfelden a. st. Meer Österreich 10 €
Saarbrücken Deutschland 10 €
Saint Tropez, Sainte Maxime Frankreich 10 €
Salmünster – Bad Soden Deutschland 10 €
Salzburg Österreich 10 €
San Francisco USA 0 €
Sankt Petersburg Russland 10 €
Sarajevo Bosnien und Herzegowina 0 €
Schleswig Eckernförde Rendsburg Deutschland 15 €
Schwerin Deutschland 10 €
Seattle USA 0 €
Siegen Olpe Deutschland 10 €
Sindelfingen – Böblingen Deutschland 10 €
Singapur Singapur 0 €
Sofia Bulgarien 0 €
Sonthofen Immenstadt Oberstdorf Deutschland 10 €
Split Kroatien 10 €
St. Gallen Schweiz 10 €
St. Peter-Ording Deutschland 10 €
St. Poelten Österreich 10 €
Starnberg Deutschland 10 €
Stettin Polen 10 €
Stockholm Schweden 10 €
Straßburg – Offenburg Frankreich 10 €
Stuttgart Deutschland 10 €
Sursee Schweiz 10 €
Sylt Deutschland 10 €
São Paulo Brasilien 0 €
Tallinn Estland 10 €
Tampere Finnland 10 €
Targu Mures Rumänien 10 €
Tegernsee Deutschland 10 €
Tel Aviv Israel 10 €
Thun – Spiez Schweiz 10 €
Tokio Japan 0 €
Toulouse Frankreich 10 €
Trier Deutschland 10 €
Trondheim Norwegen 10 €
Tübingen – Reutlingen Deutschland 10 €
Ulm Deutschland 10 €
Utrecht Niederlande 10 €
Valencia Zentrum Spanien 0 €
Vancouver Kanada 0 €
Venedig Italien 0 €
Venlo Niederlande 10 €
Verona Italien 0 €
Villach Österreich 10 €
Villingen-Schwenningen Deutschland 10 €
Vilnius Litauen 10 €
Warschau Polen 15 €
Washington D.C. USA 0 €
Weimar Deutschland 10 €
Wernigerode Deutschland 10 €
Wien Österreich 10 €
Wismar Deutschland 10 €
Wittmund – Jever Deutschland 10 €
Wolfsburg Deutschland 0 €
Wolnzach Deutschland 10 €
Worms Deutschland 10 €
Wuppertal – Solingen – Remscheid Deutschland 10 €
Würzburg Deutschland 10 €
Zagreb Kroatien 0 €
Zakopane Polen 10 €
Zlín Tschechien 10 €
Zug Schweiz 15 €
Zürich Winterthur Schweiz 15 €

FAQ

Creating a city map – questions and answers

How do I create a city map? +
In six steps: decide the extent and purpose, get geodata from OpenStreetMap, load it into QGIS and clip it, grade the streets by importance, label and leave out, then export as a vector PDF with a scale bar and attribution. To skip the data work, take a ready-made vector plan as the base and start at step four.
Can I create a city map for free? +
Yes. OpenStreetMap data and QGIS are free, and together they are enough for a full city map. What it costs is time: several hours is realistic for your first one, most of it on design and labelling rather than on the data.
Which software do I need for a city map? +
QGIS for the data work – free and built for exactly this. For the fine design most people then move on to Illustrator, Affinity Designer or Inkscape. Starting from a ready-made vector base lets you skip the data stage and work straight in the graphics program.
May I use a city map I made myself commercially? +
Based on OpenStreetMap, yes, commercially too – attribution “© OpenStreetMap contributors” is required. What is not permitted is using a screenshot from Google Maps or another map service as the base: their terms allow embedding the map, not freely reusing an extent.
What is the difference between a city map and a figure-ground plan? +
A city map is made to be read: streets are graded by importance, the names that matter are shown, colour separates water from green. A figure-ground plan (Schwarzplan) shows only the buildings as black areas on white and serves urban analysis – it is meant to show built structure, not the way.
At what scale is a city map made? +
For a city-centre extent 1:5000 to 1:10000 is usual; for a whole urban area 1:20000 to 1:50000. What matters is not the number but the relation between output size and reading distance: a poster takes more extent than a brochure page.
?