Repolode
ianho7

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. 1

    Install dependencies with Bun

    bun install
  2. 2

    Build the Rust/WASM rendering engine (requires Rust and wasm-pack)

    bun run build:wasm
  3. 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