Standards

What is IMDF? The indoor map format, explained

By the DigiMaps team · Updated · 8 min read

Short answerIMDF (Indoor Mapping Data Format) is a data model for indoor maps, delivered as a ZIP archive of GeoJSON files that describe a venue’s buildings, floors, rooms, doors and amenities. Apple created it, and the Open Geospatial Consortium (OGC) adopted version 1.0.0 as a Community Standard in February 2021.

IMDF at a glance

Facts from the OGC and Apple specification pages, checked 24 October 2026.

The standard

Full name
Indoor Mapping Data Format
Version
1.0.0, the only value the manifest allows
Written by
Apple
OGC status
Community Standard, document 20-094, approved 2 February 2021 and published 18 February 2021
Cost
Free to download and implement

The data

Encoding
GeoJSON (RFC 7946): longitude and latitude on WGS 84
Packaging
One ZIP archive with a manifest.json and one .geojson file per feature type
Feature IDs
Version 4 UUIDs, unique and never reassigned
Precision
At least seven decimal places recommended
Names
Labels keyed by language tag, so one room can carry an English and an Arabic name
Extensions
Allowed, declared in the manifest, and they may not change the meaning of core features

Where IMDF came from

Apple developed IMDF so that venue owners could describe the inside of a building in one consistent way, then show those maps in apps and websites through its MapKit framework. It was submitted to the OGC in July 2020 and approved as a Community Standard in February 2021.

A Community Standard is a specification written outside the OGC that the OGC adopts as it stands. The OGC document says so directly: the originating party may keep updating its own work, while the OGC text stays fixed. In practice that means two copies, and when a tool says it supports IMDF it is worth asking which one.

What is inside an IMDF archive

An IMDF dataset is a single ZIP file. Inside it, each feature type has its own GeoJSON file, and a small manifest says which version of IMDF the archive follows and which language its names default to.

wayvale-general.zip IMDF 1.0.0
File Geometry What it holds
manifest.json Required n/a IMDF version, creation time, default language, extensions used
address.geojson Required none Postal addresses the other features point to
venue.geojson Required Polygon The one venue: the whole site, its name and hours
building.geojson none Each building; its outline lives in the footprint
footprint.geojson Polygon Building outlines: ground, aerial or subterranean
level.geojson Polygon Each floor, with an ordinal for stacking order
unit.geojson Polygon Rooms, walkways, lifts, stairs, restrooms
opening.geojson LineString Doors and entrances on unit edges
fixture.geojson Polygon Fixed objects inside units, such as counters
section.geojson Polygon Areas within a level, such as a food court
geofence.geojson Polygon Virtual boundaries that can cross units and levels
kiosk.geojson Polygon Physical directory and map structures
amenity.geojson Point Services such as first aid, information, ATMs
anchor.geojson Point A point inside a unit that occupants hang from
occupant.geojson none Tenants and businesses, with hours and contacts
detail.geojson LineString Extra linework drawn on a level
relationship.geojson varies Traversals: lifts, ramps, escalators, one-way doors

How features point at each other

  • unit.level_id points to level
  • opening.level_id points to level
  • level.building_ids points to building
  • footprint.building_ids points to building
  • amenity.unit_ids points to unit
  • occupant.anchor_id points to anchor → unit
Every feature file is a GeoJSON FeatureCollection, and every feature ID is a version 4 UUID. Only the manifest, address and venue files are required. Source: OGC 20-094, IMDF 1.0.0. The venue name is fictional.

Three of the files are required: the manifest, the addresses and the venue. Everything else is optional, which is why two IMDF exports of the same building can look very different. One might stop at levels and units; another might add every door, counter and shop tenant.

How a floor plan maps onto IMDF features

The easiest way to read IMDF is to lay it over a floor you know. Here is the ground floor of a fictional hospital, with each part labelled by the feature type and category it becomes.

EmergencyPharmacyCaféOutpatientsRadiology Main entrance Lifts Restrooms Stairs 1 2 3 4 5 6 7 Clinical Pharmacy and café Lifts and stairs Staff only 0 5 10 m N
Sheet IMDF-01
Drawing Ground floor as IMDF features (fictional hospital)
Levels G
  1. Level ordinal 0 The ground floor itself, as one polygon
  2. Unit room Pharmacy, named in English and Arabic
  3. Opening pedestrian The pharmacy door: a line on the unit edge
  4. Unit walkway The main corridor
  5. Unit restroom Restrooms
  6. Opening pedestrian.principal The main entrance
  7. Unit elevator The lifts

The level is the outline of the whole floor. Units fill it: rooms, the corridor, the restrooms, the lift lobby, each with a category from IMDF’s fixed list. Openings are lines, not shapes, and they sit on the edge between two units, which is how a reader knows that the pharmacy opens onto the corridor. Occupants such as a pharmacy operator or a café brand have no geometry of their own; they hang from an anchor point inside a unit.

What one feature looks like

This is a single unit from unit.geojson, the pharmacy in the drawing above. The coordinates are illustrative.

{
  "id": "8c5e6a72-3f1d-4b8e-9a47-2d61c0f3b915",
  "type": "Feature",
  "feature_type": "unit",
  "geometry": {
    "type": "Polygon",
    "coordinates": [[
      [77.2310421, 28.6395118],
      [77.2311733, 28.6395118],
      [77.2311733, 28.6393956],
      [77.2310421, 28.6393956],
      [77.2310421, 28.6395118]
    ]]
  },
  "properties": {
    "category": "room",
    "restriction": null,
    "accessibility": null,
    "name": { "en": "Pharmacy", "ar": "الصيدلية" },
    "alt_name": null,
    "level_id": "1f0b9d34-7c2a-4e65-b8d1-5a93e2c47f08",
    "display_point": {
      "type": "Point",
      "coordinates": [77.2311077, 28.6394537]
    }
  }
}

Three things to notice. The feature_type member says what the feature is, on top of ordinary GeoJSON. The level_id points to a level by its UUID, which is how features are tied together across files. And the name is a set of labels by language, so a bilingual directory does not need two maps.

What IMDF is used for

UseWho does itWhat IMDF does there
Indoor maps in iPhone apps and websitesVenue owners in Apple’s Indoor Maps ProgramThe map is built in IMDF and shown with MapKit or MapKit JS. Apple’s IMDF Sandbox lets you view a file and make minor edits.
Apple indoor positioningThe same programmeA separate radio survey of the building with Apple’s Indoor Survey app, using your existing Wi-Fi access points, on top of the IMDF map.
Moving a map between toolsGIS teams, CAD converters, wayfinding vendorsA shared format, so the map is not locked inside one vendor’s system.
Tender deliverablesPublic-sector and hospital buyersAsking for an IMDF export makes the map a file you hold, not just a screen you rent.

If you are writing a specification, require that the venue can be exported in an open format such as IMDF at any time, without a fee or a support ticket. Our vendor-neutral tender specification has a clause for it.

What IMDF does not cover

IMDF describes the building. It does not describe how people move through it, or what is happening in it today.

TopicIn IMDF?Notes
Shapes of floors, rooms and doorsYesLevels, units and openings
Names in several languagesYesLabels keyed by language tag
Hours, phone numbers, websitesYesOn the venue, amenities and occupants
Accessibility attributesYesCategories on units, openings and amenities
Connections between floorsPartlyRelationships describe lifts, escalators, ramps and one-way doors. Routes are still calculated by the app reading the file.
A walking network and route rules such as step-freeNoLives in the routing engine: in DigiMaps, the navigation graph and routing profiles
Live closures, notices, emergenciesNoLives in the wayfinding system’s live layer
Who changed what, and who approved itNoLives in the CMS release history

So an IMDF file is a good starting point for a wayfinding map, and a good way to get a map out again. It is not a finished wayfinding map on its own: someone still has to build and check the route network.

How DigiMaps works with IMDF

DirectionWhat happensWhat to know
ExportStudio exports any venue as an IMDF archive, and also as GeoJSON or KML, at any time.The map you author in DigiMaps is yours to take elsewhere.
ImportOur team brings an IMDF or GeoJSON dataset in as a new venue, which you then edit in Studio.There is no IMDF upload button in Studio itself. Exports from GIS tools come in the same way, as IMDF or GeoJSON.
Routes after importStudio generates a first route network from the doors, and your team reviews it.IMDF carries no walking network, so this step is always needed.
ValidationDigiMaps does not run Apple’s IMDF validation.If Apple is the destination, load the export into Apple’s IMDF Sandbox and fix what it flags before you submit it.

If your plans are in CAD rather than IMDF, start with the floor plan import formats instead. DXF is read directly, and our DWG to interactive map guide walks through the whole conversion.

Checking an IMDF file before you hand it over

Whether you are receiving IMDF from a contractor or sending it to Apple, a few checks catch most problems.

  1. Open the ZIP and confirm that manifest.json, address.geojson and venue.geojson are there.
  2. Check that the manifest version is 1.0.0 and that its language tag matches the language most of your names are in.
  3. List the levels and their ordinals. They should stack in the order a visitor would ride the lift, with basements below the ground floor.
  4. Spot-check that units sit inside their level, and that neighbouring units do not overlap or leave slivers between them.
  5. Pick five rooms visitors need to reach and confirm that each has an opening on its edge.
  6. If the archive was merged from several sources, look for repeated IDs. Every ID must be a unique UUID that is never reused.
  7. Read the names in every language you will publish. Arabic names should not fall back to Latin room codes from the drawing.
  8. If the file is going to Apple, load it into the IMDF Sandbox and work through the errors and warnings it reports.

Sources

Checked 24 October 2026.

Related questions

Is IMDF an open standard?

Yes. IMDF 1.0.0 is an OGC Community Standard, document 20-094, and it is free to download and implement. Apple wrote it and still publishes its own copy, which Apple may update. The OGC document is fixed at version 1.0.0.

Does exporting IMDF put our building on Apple Maps?

Not by itself. An IMDF file is only the map data. Using it with Apple means joining Apple’s Indoor Maps Program through Apple Business Register, which Apple describes as indoor maps in your own apps and websites through MapKit, plus indoor positioning after a Wi-Fi survey of the building.

Can DigiMaps import an IMDF file?

Yes, through our team rather than an upload button in Studio. Send us the archive and we bring it in as a venue that you then edit in Studio. IMDF does not carry a walking network, so the route network is generated and checked in Studio before anything is published.

Is IMDF the same as GeoJSON?

No. GeoJSON is a general format for geographic features. IMDF is a set of rules written on top of it, saying which files an archive contains, which feature types exist and which properties each one must have.

Does IMDF include routes or turn-by-turn directions?

No. IMDF describes spaces, doors and some connections, such as lifts, ramps and one-way doors. It has no routing network and no directions. The application that reads the file calculates routes itself.

See your own building in DigiMaps

Book a 30-minute walkthrough. Bring a floor plan if you have one: we will show how DigiMaps runs on kiosks, phones and signage, and tell you plainly what a pilot on your site would involve.