メインコンテンツにスキップ

JavaScript ソースマップ デコーダー

.map ファイルの Base64 VLQ マッピングをデコードして、ミニファイされた位置の背後にある元のソース、行、列を見つけ、生成されたものから元のマッピング表全体を参照するか、ミニファイされたスタックトレース全体を元のソースに逆マップします。

入力

Drop a file or browse
One file · text
または

.map ファイルの内容、またはインライン //# sourceMappingURL= data: URI からデコードされた JSON。

コードエディターまたはブラウザスタックトレースに表示されるように 1 ベース — 行の最初の文字は列 1 です。

出力

元の位置
 
役に立ちましたか?

ガイド

バンドラーが JavaScript をミニファイすると、その横に .map ファイルが生成されます — ミニファイされた出力内のすべての位置を元のソース内の行と列にマップする JSON ドキュメント。このマッピングを手動で読むことは、マップの mappings フィールドに詰め込まれた Base64 VLQ (Variable-Length Quantity) セグメントをデコードすることを意味し、これはまさにこのツールがあなたのために行うバイナリでアルゴリズム的な作業です。

使い方

.map ファイルの内容をソースマップ フィールドに貼り付け(または直接アップロード)、次にモードを選択します:

  • 位置を検索 — ミニファイされた行と列を入力して(ブラウザの DevTools またはミニファイされたコード ビューアに表示されているように)元のファイル、行、列、および周囲のソースのスニペットを取得します。
  • マッピング表全体 — ソースマップが含むすべての生成されたから元のマッピングを参照、セグメントごとに 1 行。
  • スタックトレースを逆マップ — ミニファイされたスタックトレース全体を貼り付け、同じトレースを返すと、認識可能なすべての file:line:column が元の場所に書き換わります。

ソースマップを見つける場所

ほとんどのバンドラー (webpack、esbuild、Vite、Rollup、Terser) は自動的に生成できます — ミニファイされたファイルの末尾の //# sourceMappingURL= コメントを探します。.map URL を指している場合、そのファイルの内容を取得します。インライン data:application/json;base64,... URI の場合、Base64 をデコードして、結果の JSON をここに貼り付けます。

よくある質問

位置検索が 1 ベースの行/列を必要とするのはなぜですか?

それはあなたが他の場所で見るものだからです — コード エディターの行/列インジケータ、ブラウザの DevTools、および JavaScript スタックトレースはすべて 1 からカウントします。ツールは内部的にソースマップが実際に使用する 0 ベースの列に変換するため、その数学を自分で行う必要はありません。

コンテキスト スニペットは常に表示されますか?

ソースマップが元のファイルのコンテンツを埋め込んでいる場合のみ(sourcesContent)。一部のビルド ツールはマップを小さく保つためにこれを省略します — なくても、ツールは正確な元のファイル、行、列を報告できますが、コード プレビューはありません。

スタックトレースが複数のファイルにまたがる場合はどうなりますか?

このツールは、file:line:column を解析できるすべてのフレームに 1 つの貼り付けられたソースマップを適用します — ファイル名自体は一致しないため、1 つのバンドルから完全に来るスタックトレースに対して機能します。複数のバンドルされたファイルにまたがるスタックトレースの場合、一度に数フレームずつ逆マップし、各フレームが実際に属するファイルのソースマップを使用します。

コードがミニファイされていません — 読みたいだけです

ミニファイされていない既に読み込める可能性のあるコードを再フォーマットする場合は、代わりに JavaScript コード フォーマッター を使用してください。反対方向に進む場合 — ソース マップがデコードするミニファイされたファイルにソースを縮小する場合 — JavaScript ミニファイア を参照してください。

プライバシー

すべてがブラウザで実行されます — ソースマップ、スタックトレース、アップロードしたファイルはデバイスを離れません。

sourcemapvlqwebpackbabelterserminifiedstack traceunminifydebugging

このツールを使う他の方法

REST API

curl -X POST https://api.iotools.cloud/v1/tool/source-map-decoder \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "mode": "position",
    "sourceMapText": "{\"version\":3,\"sources\":[\"src.js\"],\"sourcesConten…",
    "minifiedLine": "1",
    "minifiedColumn": "21",
    "contextLines": "1"
  }'

ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。

AIエージェントに依頼する

Use the IOTools `source-map-decoder` tool (JavaScript Source Map Decoder) on this input:

YOUR_INPUT_HERE

IOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。

埋め込みウィジェット

<iframe
  src="https://iotools.cloud/embed/source-map-decoder/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="JavaScript ソースマップ デコーダー — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。

1回あたりの費用5クレジットから

次の方法でも利用可能

ツールが気に入りましたか?広告をなくしましょう。

1回のお支払いでアカウントから広告が完全になくなります。サブスクリプションも追跡もありません。