Turn OpenStreetMap Data Into 3D Buildings You Can Export as GLB
You've probably seen those slick 3D city maps in demos and wondered how much work goes into building one. Turns out, there's a project that takes OpenStreetMap data and renders it as a real-world 3D map you can actually export. It's called map3d, and it's built with React-Three-Fiber.
What It Does
map3d is a 3D building mapping service that pulls its data from OpenStreetMap and renders buildings and roads in three dimensions. You can browse a real-world map in 3D, then export the result as a GLB file—the binary glTF format that plays nicely with most 3D tools and engines.
The rendering layer is built on React-Three-Fiber, which means it's using React's component model to drive Three.js scenes. If you're already comfortable in the React ecosystem, that's a familiar foundation rather than a whole new rendering paradigm to learn. The project is MIT licensed, and all features are free to use. The author also notes that this foundation could be extended into things like digital twins, drone surveying, and GPS markers—though those are possibilities the project enables, not features it ships with.
One thing worth flagging up front, straight from the README: the project can't guarantee data accuracy. Since it relies on OpenStreetMap, some building heights may be missing or recorded incorrectly. A future option is planned to let users manually correct that data.
Why It's Cool
-
The GLB export is the real hook. Plenty of projects render 3D maps in a browser. Far fewer let you take the geometry out and use it somewhere else. Exporting to GLB means you can drop the result into Blender, a game engine, or whatever pipeline you're already running—the map isn't trapped in a web tab.
-
It's honest about its limits. The README doesn't pretend OpenStreetMap height data is perfect, because it often isn't. Calling that out—and putting manual height correction on the roadmap—is the kind of transparency that saves you from nasty surprises halfway through a project.
-
The roadmap tells you where it's headed. Buildings, roads, and GLB export are done. Still on the list: building textures, height customization, materials, and a heightmap. That's a sensible progression from "blocky geometry that works" toward "something that looks good," and the checkboxes make it easy to see what you're actually getting today.
-
The extension ideas are grounded. Digital twins and drone surveying are buzzword-adjacent, sure, but they follow logically from what's here—a 3D representation of real-world structures that you can export and manipulate. The project isn't claiming to do those things; it's noting that the foundation supports them.
How to Try It
The fastest way to see what it does is the hosted demo at map.fleet.im. Browse around, and you'll get a feel for the rendering quality and the coverage before touching any code.
If you want to run it yourself or dig into the source, head to the repository:
- Clone the repo from github.com/cartesiancs/map3d.
- Install dependencies with your package manager of choice (it's a React-Three-Fiber project, so expect the usual Node toolchain).
- Run the dev server and open it in your browser.
- When you've got a view you like, use the export feature to download the scene as a GLB file.
The README doesn't spell out exact install commands, so check the repository for the current setup instructions—they'll be more accurate than anything I could guess at here. If you run into problems, there's a bug tracker waiting for your report.
Final Thoughts
map3d is a focused tool with a clear core: real-world 3D buildings from OpenStreetMap, rendered in the browser, exportable as GLB. It's best suited to developers who want a starting point for a 3D mapping project—someone building a visualization, prototyping a digital twin, or just needing real-world geometry they can bring into another tool. The missing textures and height-correction features mean it's not a finished product, but the foundation is solid and the roadmap is visible. If the export capability is what you need, it's worth a look today.
Follow @githubprojects for more developer tools and open source projects.