Paste the source map JSON, then look up a position in the generated code. The result reports the mapped source file, line and column.
Runs locally in your browserPaste a version 3 source map and press Analyze locally. The mappings string is decoded with base64 VLQ inside the page; nothing is fetched, the generated file is not needed, and the map never leaves the browser.
The Source map report shows version, file, sourceRoot, the number of sources, names and decoded mappings, a tile for each count, and one row per source with the size of its embedded sourcesContent.
Each line of the mappings string is a comma-separated list of base64 VLQ segments, and the values inside a segment are deltas: the generated column restarts on every line, while the source, original line, original column and name keep running across the whole file.
A segment with only a generated column carries no original position: it moves the column forward and does not enter the decoded count. Everything else is shown as written, so the number in the report is the count of segments that really carry a position.
The lookup takes the mapping with the greatest generated column that is still less than or equal to the column you typed, on the line you typed. That is the segment a browser devtool would use for the same position.
Lines count from 1 and columns from 0, the same as a browser console and the mappings string itself. When the line has no segment at or before that column, the tool says so instead of guessing a neighbouring line.
The explorer reads the map text only. It does not download the generated file or the original sources, does not check that a map matches a build, and does not rebuild files from sourcesContent - it shows the strings that are embedded in the map.
Index maps (a sections array) are not decoded: paste one of the section maps instead. sourceRoot is reported but not prepended to the rows, and a map whose mappings string is empty or whose VLQ is malformed is reported rather than repaired.