Skip to content
 
 

Repository files navigation

TinyTopo

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.

Data sources

Full details in docs/SOURCES.md.

Status

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

Develop

npm install
npm run dev        # Vite dev server on :5173
npm run typecheck
npm run build      # static bundle in dist/

Deploy your own

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.

Contributing

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.

License

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

Trademark

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

About

Turn any place on Earth into a 3D-printable model — entirely in your browser.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages