Road network editor for lane-level simulation and 3D maps

Roads built from per-lane cross-sections, with junctions, roundabouts, signs, terrain and water generated around them. Exports schema-valid OpenDRIVE 1.6 and OpenSCENARIO 1.2 for driving simulators, and glTF 2.0, OBJ and heightmaps for 3D engines.

10
lane types
6
junction controls
27
sign types with OpenDRIVE codes
2 cm
max. reference-line deviation

Native C++ / OpenGL for macOS and Windows. Works offline.

Exports
OpenDRIVE 1.6.xodrOpenSCENARIO 1.2.xoscglTF 2.0.glb / .gltfOBJ.obj + .mtlHeightmap.png + .r16
What it does

Lanes in, simulator-ready maps out.

Every lane, junction and sign sits exactly where you drew it. Three things set it apart.

Lanes are the unit, not tiles

Every road has its own cross-section: 10 lane types, per-lane width, direction and height, 11 marking styles. Junctions, curbs and markings follow from it and rebuild live while you drag.

Roads and cross-sections

Export that simulators accept

OpenDRIVE 1.6 validated against the ASAM schema, with lane-level junctions. OpenSCENARIO 1.2 scenarios that run in esmini.

The OpenDRIVE export

Start from the real world

Import any OpenStreetMap area with lanes, one-way streets, roundabouts, signals and speed limits, then edit it like a map you drew.

OpenStreetMap to OpenDRIVE
01 — Lanes

One cross-section per road. Everything else follows.

Pick lane types, set widths, directions and heights, and choose the line on each side. Raised lanes get curbs. Road-level lanes flow into the junction surface.

  • Driving, parking, bus, bike, shoulder, hatched, median, sidewalk, verge, barrier
  • Curbs, markings, crosswalks, bridges and street lights generated from the cross-section
  • Tapers where roads with different profiles meet
curbcurbsidewalkvergeparkingdrivingdrivingbikesidewalkcross-section: lane types, widths and markings, left to rightsectionplan
Diagram An example cross-section, in plan and in section.
02 — Simulation export

Valid OpenDRIVE, checked on every build.

Each exported file is validated against the official ASAM schemas and read back by an independent parser.

  • OpenDRIVE 1.6 validates against the ASAM schema
  • OpenSCENARIO 1.2 validates against its schema; scenarios run in esmini, vehicles stay on the road network
  • Reference lines within 2 cm of the drawn road
  • Junction connecting roads meet their roads within 2 cm with continuous heading
reference lineroad (approach)junctionconnecting roads,one per movementlane links: within 2 cm,continuous heading
Diagram A four-way junction: each movement is its own connecting road.
Fast, direct, yours

A native app that stays out of your way.

Live rebuild

C++ and OpenGL. Edits rebuild while you drag.

2D and 3D

A 3D view and a 2D blueprint view with contour lines and a height cut.

Offline

No account, no telemetry, no network access.

Plain files

Maps are plain JSON. Exports are yours to ship.

FAQ

Common questions

Which OpenDRIVE version does Metromake export?

OpenDRIVE 1.6, validated against the ASAM schema.

Can I use my exported maps commercially?

Yes. The road assets are CC0 and the exports are yours. Maps imported from OpenStreetMap must credit OpenStreetMap contributors (ODbL).

Does it work offline?

Yes, completely. No account, no telemetry.

Can I import existing OpenDRIVE files?

Yes; roads come back with their lanes and signs, and junctions are rebuilt.

Which platforms does it run on?

macOS 12 or later (Apple Silicon and Intel) and Windows 10/11 (x64).

What file format are maps saved in?

Plain JSON.

More about the OpenDRIVE export · Read the docs

Next step

Be first to try Metromake.

Join the waiting list to hear when downloads open. Working on a simulation team? Ask about team licences.