Poster / Side project

I wanted a poster, but they were all paid

So I made my own in an hour of free time. Pick any place on earth, choose a paper size, download a file a print shop can put on a wall.

My role: everything. 2026.

00 / Why

Free, because it costs nothing to run

City map posters usually sell for twenty to forty euros, while the map data underneath is free OpenStreetMap. Here everything is drawn in the visitor's browser, so there is nothing to pay for: no watermark, no account, no limits.

01 / Architecture

Four steps, no map library

A Data

Vector tiles fetched straight from OpenFreeMap and decoded in the browser. Roads arrive already classified and already generalised for their zoom level, so a poster of a whole city does not drown in driveways.

B Projection

Web Mercator by hand — four short functions. The bounding box is derived from a centre point and a width in kilometres, then a projector maps every coordinate into the poster's own pixel space.

C Renderer

The poster is emitted as an SVG string. It is split into a map body and the chrome around it, because one walks tens of thousands of coordinates and the other is a handful of elements — typing a title should not re-project a city.

D Export

SVG is the real deliverable — a print shop scales it to any size with no loss. PNG exists alongside it, rasterised at the pixel count the chosen paper size and DPI imply.

02 / Shipped

What is in the product

Any placeSearch by name or drop a pin, then set the width of the frame in kilometres rather than by fighting a zoom slider.
Paper sizesStandard print formats with the aspect ratio locked to the paper, so what is composed on screen is what gets cut.
StylingThemes, road weighting by class, separate treatment for open sea and inland water, optional frame and coordinates.
ExportVector SVG, or PNG at a chosen DPI. No watermark, no account, no export limit.

Attribution to OpenStreetMap is baked into the poster itself rather than the page, because the file is what leaves the site.

03 / Try it

Make one and print it

Pick a place that means something, set the frame, download the SVG. Nothing to sign up for.