Перейти к содержимому
Aback Tools Logo

Деминификатор source map JavaScript

Загрузите минифицированный код JavaScript и его source map (v3), чтобы восстановить исходные файлы. Сопоставляйте минифицированные позиции с исходным файлом, строкой и столбцом. Поддерживаются встроенные source map и внешние файлы .map - всё бесплатно, приватно и без регистрации.

JavaScript Source Map Unminifier

Upload or paste a minified JavaScript file and its source map to reconstruct original source code. Supports inline source maps (/*# sourceMappingURL=data:... */) and external .map files. All processing happens in your browser — no uploads.

2
Source Files
7
Identifiers
40
Mappings
✓ Full
Reconstruction

Source Map Summary

Version: 3
File: bundle.js
Source Root: (none)
sourcesContent: Yes
Source files:
  • src/index.js ✓
  • src/utils.js ✓

Understanding Source Map Unminification

A source map maps minified code back to original source files using VLQ-encoded position mappings. When sourcesContent is present (as in this sample), the original source code can be fully reconstructed. Without sourcesContent, only position data is available and reconstruction is limited to showing where each mapping points. The source map format (v3) is defined by theSource Map Specification.

Возможности

  • Деминификация по source map: загрузите минифицированный JavaScript вместе с source map, чтобы восстановить исходный код. Сопоставляет каждую минифицированную позицию с её исходным файлом, строкой и столбцом с полной точностью.
  • Поддержка встроенных и внешних source map: поддерживает встроенные source map (data:application/json;base64,...), комментарии //# sourceMappingURL= и загрузку внешних файлов .map. Работает со всеми основными сборщиками: Webpack, Rollup, Vite, ESBuild и Terser.
  • Восстановление исходного кода: после сопоставления просматривайте восстановленные исходные файлы с правильными именами переменных, комментариями и форматированием. Переключайтесь между исходными файлами через панель проводника.
  • Детальное сопоставление позиций: изучайте данные сопоставлений source map в структурированной таблице. Смотрите каждую исходную позицию (файл, строка, столбец), сопоставленную с её минифицированной позицией. Копируйте отдельные сопоставления или экспортируйте всю таблицу в JSON.

Что такое source map?

Source map (определённый спецификацией Source Map Specification ) - это файл, сопоставляющий минифицированный или транспилированный код с его исходным кодом. Когда JavaScript минифицируется, имена переменных сокращаются, пробелы удаляются, а несколько файлов объединяются. Source map хранит сопоставление каждой позиции в выводе с исходным файлом, строкой и столбцом - позволяя таким инструментам, как отладчики и трекеры ошибок, показывать исходный код вместо минифицированного вывода.

Как работает деминификатор

Деминификатор source map JavaScript разбирает ваш минифицированный код и source map с помощью библиотеки mozilla/source-map (портированной на совместимый с браузером JS). Инструмент читает сопоставления, закодированные в VLQ, декодирует их в пары (строка_вывода, столбец_вывода) → (исходный_файл, исходная_строка, исходный_столбец) и восстанавливает исходные файлы. Файлы отображаются в навигируемом дереве, и каждое сопоставление можно изучить отдельно в таблице деталей. Вся обработка происходит в вашем браузере - данные никогда не загружаются.

Кодирование VLQ и сопоставления

Source map используют кодирование Variable Length Quantity (VLQ), чтобы компактно хранить сопоставления позиций в виде строк, закодированных Base64. Каждый сегмент сопоставления кодирует пять значений: столбец в сгенерированном файле, индекс исходного файла, номер исходной строки, номер исходного столбца и необязательный индекс исходного имени. Деминификатор декодирует эти сегменты VLQ и представляет их в удобочитаемой таблице, показывая каждую сгенерированную позицию и соответствующую ей исходную позицию. Понимание VLQ помогает проверить, что ваши source map созданы правильно.

Конфиденциальность и безопасность

Этот инструмент работает полностью в вашем браузере. Ваш минифицированный код и source map никогда не загружаются на сервер, не сохраняются в базе данных и не передаются по сети. Вся логика разбора, декодирования и восстановления выполняется локально на вашем устройстве. Нет вызовов API, аналитического отслеживания и сбора данных любого рода. Это делает его безопасным для проприетарного кода, внутренних приложений и чувствительных сторонних библиотек, которые вы проверяете.

Часто задаваемые вопросы

Source map - это файл, сопоставляющий минифицированный или транспилированный код JavaScript с его исходным кодом. Он хранит сопоставления между каждой позицией в минифицированном выводе и соответствующим файлом, строкой и столбцом в исходном коде. Деминификатор source map читает эти сопоставления и восстанавливает исходный код, показывая, как он выглядел до минификации, с правильными именами переменных, комментариями и форматированием.

Source map обычно создаются во время сборки. Ищите комментарий //# sourceMappingURL= в конце минифицированного файла, указывающий на файл .map. Многие CDN и менеджеры пакетов также отдают файлы .map вместе с файлами .min.js. Для своих проектов настройте сборщик (Webpack, Vite, Rollup), чтобы генерировать source map, установив devtool в значение "source-map".

Инструмент поддерживает стандартный формат Source Map v3. Это включает встроенные source map, встроенные как URI data:application/json;base64,..., загрузку внешних файлов .map и source map, на которые ссылаются комментарии //# sourceMappingURL=. Он работает с картами, созданными Webpack, Rollup, Vite, ESBuild, Terser, UglifyJS и Closure Compiler.

Без source map можно только облагородить минифицированный код (добавить пробелы и переносы строк), но нельзя восстановить исходные имена переменных, комментарии или структуру файлов. Для настоящей деминификации с исходными идентификаторами и организацией файлов нужен source map.

Поле sourcesContent в source map необязательно содержит полный исходный код каждого файла. Если оно присутствует, инструмент может идеально восстановить исходные файлы с правильным кодом, комментариями и форматированием. Без sourcesContent доступны только данные сопоставления позиций, и восстановление ограничивается показом того, куда указывает каждая минифицированная позиция в исходных файлах.

VLQ означает Variable Length Quantity (значение переменной длины) - компактную схему кодирования, используемую в source map v3 для эффективного хранения сопоставлений позиций. Каждый сегмент сопоставления кодируется в Base64-VLQ, используя только печатные символы и сегменты переменной длины для представления чисел. Кодирование позволяет source map хранить миллионы сопоставлений, сохраняя управляемые размеры файлов.

Безусловно. Деминификатор source map JavaScript работает на 100 % в вашем браузере. Ваш код и source map никогда не загружаются на сервер, не сохраняются в базе данных и не передаются по сети. Вся логика разбора, декодирования и восстановления выполняется локально на вашем устройстве для полной приватности и безопасности.

Да - 100 % бесплатно, без регистрации, аккаунта и ограничений. Деминифицируйте столько файлов кода, сколько нужно, и изучайте столько source map, сколько хотите. Никаких премиум-тарифов, скрытых платежей и ограничений по частоте.