What is a .MAP file?
The .map extension is reused by source maps, game level maps and linker map files.
Source map
- What it is
- A JavaScript / CSS source map - JSON that maps minified code back to its original sources for debugging. Analyser opens it as structured JSON with an expandable value tree.
- How to tell it apart
- A source map is JSON beginning with a brace.
- Did you know
- A source map lets browser dev-tools show your original TypeScript or Sass while the browser runs minified code, using a compact Base64 VLQ encoding to map positions.
- A browser only fetches the .map when its developer tools are open, finding it through a //# sourceMappingURL comment left at the foot of the minified file.
- The scheme grew out of Google's Closure Compiler and Inspector work around 2009, with version 3 slashing file sizes by switching to VLQ-encoded position deltas.
Game level map
- What it is
- A Quake / Source-engine level map - the text brush geometry a level editor (Radiant, Hammer) compiles into a BSP. Analyser opens it as source.
- How to tell it apart
- A level map is plain text describing brush entities.
- Did you know
- A Quake .map stores a level as convex 3D 'brushes' - solid blocks the compiler seals and slices into a BSP tree - an approach id Software introduced with Quake in 1996.
- Turning a .map into a playable level runs three tools in turn - BSP, VIS and light - to carve the geometry, precompute what is visible from where, and bake in the lighting.
- Because every brush must be convex, mappers build concave rooms by clipping or combining several brushes, a constraint that shaped the blocky look of 1990s shooter levels.
Linker map
- What it is
- A linker map file - a text report of symbol addresses and section sizes produced by a compiler toolchain. Analyser opens it as source.
- How to tell it apart
- A linker map is plain text laid out as an address/symbol table.
- Did you know
- A linker map is often the only record of exactly where each function landed in memory, which is why crash-dump analysis leans on it so heavily.
- Embedded developers pore over the .map to see how many bytes of flash and RAM each module eats, since a microcontroller's memory budget is tiny and fixed.
- A linker writes one only on request - GCC with -Map, Microsoft's linker with /MAP - because the report is a build diagnostic the finished program never needs.
- Depth of analysis
- .MAP is an identification-grade format: Analyser recognises it from its bytes and decodes the header metadata it carries, rather than opening it in a full viewer. Formats that do get a full viewer are marked "Full" on the formats page.
- Open a .MAP file
- Drag a .MAP file onto the Analyser home page (or tap to pick one). It is identified entirely in your browser - nothing is uploaded, there is no account, and it works offline once installed.