Python command-line tool that generates minimalist, printable map posters of any city from OpenStreetMap data, with selectable color themes.
ianho7/maptoposter-online
A browser-based tool that turns OpenStreetMap data of any city into a downloadable, themed map poster, with no install needed.
- Stars
- 980
- Forks
- 47
- Open issues
- 1
- Last commit
- 3 months ago
What is it?
MapPoster Online lets you pick a city, choose a visual theme, and export its street map as a print-ready poster. It is a browser-based successor to the maptoposter Python command-line tool, so there is nothing to install: open the site, select a location, and download the result.
Map data comes from OpenStreetMap through the Overpass API and Protomaps, and the rendering engine is written in Rust, compiled to WebAssembly with tiny-skia. Data fetching and rendering run in a Web Worker so the page stays responsive, and fetched map data is cached in IndexedDB for faster regeneration. The app ships with 20 built-in themes, full color controls, multiple export sizes up to 300 DPI, and a live preview.
The project is built with React 19, TypeScript, Vite, Tailwind CSS v4, and Bun. Custom point-of-interest pushpins use the Amap place-search API with a user-supplied key.
Key features
- 01Runs entirely in the browser with no installation required
- 02Rust/WASM rendering engine built on tiny-skia
- 0320 built-in themes with fine-grained color controls
- 04Export as A4, square, phone wallpaper, or 16:9 at 300 DPI
- 05Custom POI pushpins searchable via Amap
- 06IndexedDB caching of map data for faster regeneration
Use cases
- Creating a printed city map poster of a hometown or travel destination
- Designing a themed wall art piece or gift from a favorite city's streets
- Quickly generating map wallpapers for a phone or desktop
- Marking personal points of interest on a city poster
Quick start
- 1
Install dependencies with Bun
bun install - 2
Build the Rust/WASM rendering engine (requires Rust and wasm-pack)
bun run build:wasm - 3
Start the dev server, then open http://localhost:5173
bun run dev
Things to know
- Local development requires Rust and wasm-pack to build the WASM engine.
- The custom POI pushpin feature requires your own Amap Web Service API key.
In collections
Topics
FAQ
- What is maptoposter-online?
- A browser-based tool that turns OpenStreetMap data of any city into a downloadable, themed map poster, with no install needed. MapPoster Online lets you pick a city, choose a visual theme, and export its street map as a print-ready poster. It is a browser-based successor to the maptoposter Python command-line tool, so there is nothing to install: open the site, select a location, and download the result.
- Is maptoposter-online free to use? What license does it have?
- maptoposter-online is open source under the MIT license. Check the license terms before using it in commercial products.
- Is maptoposter-online still maintained?
- Updated within 6 months. The last commit to maptoposter-online was on Aug 3, 2026.
- What can I use maptoposter-online for?
- Creating a printed city map poster of a hometown or travel destination Designing a themed wall art piece or gift from a favorite city's streets Quickly generating map wallpapers for a phone or desktop Marking personal points of interest on a city poster
- How do I install maptoposter-online?
- Install dependencies with Bun: bun install Build the Rust/WASM rendering engine (requires Rust and wasm-pack): bun run build:wasm Start the dev server, then open http://localhost:5173: bun run dev
- Where can I get maptoposter-online?
- The source code and installation instructions are on GitHub: https://github.com/ianho7/maptoposter-online
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A minimal Python library that draws customized map artwork from OpenStreetMap data using osmnx, matplotlib and shapely.
Renders every road in a chosen city at once as a map-style visualization, using OpenStreetMap data in the browser.
A modular TypeScript data visualization framework offering charts, maps and network graphs for React, Angular, Svelte, Vue, Solid and vanilla JavaScript.
Open-source visual builder that lets you drag and drop your own React components to build apps and websites inside your codebase.
The Ruby on Rails application that runs the OpenStreetMap website, its editing API, Browse pages and GPX uploads.