Turn any place on Earth into a 3D-printable model — entirely in your browser.
TinyTopo lets you select an area on a map and generates a printable 3D model of the terrain, buildings, roads, water, and greenery inside it, exported as STL or multicolor 3MF. No account, no watermark, no backend — everything runs client-side from open data.
TinyTopo is an open-source spiritual successor to Map2Model, the beloved hobby project that was shut down in June 2026 after its author received legal threats he couldn't afford to fight. This project exists so that can't happen again: the code is open, the app is a pure static site, and anyone can fork and redeploy it. See RESEARCH.md for the full history of the original, how it worked, and the phased plan this project follows.
Full details in docs/SOURCES.md.
- OpenStreetMap — buildings, roads, water, land use (ODbL)
- Overture Maps — alternative building source (planned)
- Mapterhorn / AWS Terrain Tiles — elevation
- Nominatim — place search
Alpha. Working today: rectangle selection, place search, terrain with real relief, extruded buildings (incl. building:part), roads, water, and greenery as colored layers, Three.js preview, binary STL export, and multicolor 3MF export — five named bodies ready for AMS/multi-material filament mapping. See the phased plan in RESEARCH.md for what's next (Overture source, Manifold booleans, water cutout).
npm install
npm run dev # Vite dev server on :5173
npm run typecheck
npm run build # static bundle in dist/TinyTopo is a pure static site — that's a design guarantee, not an
implementation detail. Host dist/ anywhere: GitHub Pages, any web server,
or a USB stick.
The official deployment is GitHub Pages: the
deploy workflow publishes main automatically
— forks get the same free hosting by enabling Pages (Settings → Pages →
Source: GitHub Actions).
A wrangler.toml is also included for Cloudflare Workers
static assets (npx wrangler login && npm run deploy) if you prefer.
See CONTRIBUTING.md. No CLA, ever — contributions are accepted under the project license with a DCO sign-off, so the project can never be relicensed or closed by any single party.
- Code: AGPL-3.0-or-later. Use it, fork it, deploy it — but every derivative, including one offered as a network service, must publish its source under the same terms. TinyTopo can be copied; it cannot be taken private.
- Documentation (README, RESEARCH.md): CC-BY-SA-4.0.
"TinyTopo" identifies this project and its official deployments. The AGPL grants no trademark rights: forks are welcome and encouraged, but public deployments of modified versions should use a different name.