Formatador de stack traces JavaScript

Cole stack traces JavaScript para visualizar funções, arquivos, linhas e colunas. Os erros são agrupados pela assinatura de cada stack trace.

Funciona localmente no seu navegador
Esta ferramenta processa todos os dados localmente no seu navegador.
Stack traces JavaScriptCole stack traces JavaScript no formato Node.js/V8 ou Firefox/Safari. A análise ocorre neste navegador.

Como formatar um stack trace

Cole a saída de erro do Node.js, do console do navegador ou de um arquivo de log. A página divide o texto em traces, imprime cada frame reconhecido como função, arquivo, linha e coluna e agrupa os traces que compartilham os três primeiros frames.

A formatação roda nesta aba. Nada é enviado e nenhuma requisição sai da página enquanto você trabalha.

  1. Cole um ou mais traces em Stack traces JavaScript, ou clique em Carregar exemplo para ver o formato esperado.
  2. Clique em Formatar stack traces. Cada trace vira um bloco numerado e os frames são reescritos como at função (arquivo:linha:coluna).
  3. Veja Grupos de erros: traces com os mesmos três primeiros frames são contados juntos e o cartão indica o frame principal do grupo.
  4. Use Copiar ou Baixar para levar o texto formatado, e Limpar para esvaziar a entrada, a saída e o relatório.
  5. Se o relatório contar linhas não reconhecidas, elas continuam na saída exatamente como foram coladas.

O que a saída formatada mostra

Cabeçalhos que o analisador reconhece

Um trace começa na linha que nomeia a falha: TypeError: com a mensagem, um envoltório do console como Uncaught (in promise) TypeError:, UnhandledPromiseRejectionWarning:, DOMException:, AggregateError: ou qualquer identificador terminado em Error, Exception, Warning ou Rejection. Uma linha que começa com data e nível (2026-09-17T10:00:00Z ERROR TypeError: ...) ou com o nível entre colchetes ([error] TypeError: ...) também conta.

Um cabeçalho abre um novo trace quando a linha anterior era um frame ou quando há uma linha em branco entre eles. O Node escreve um erro embrulhado como [cause]: Error: ..., e essa linha vira um trace próprio para a causa manter seus frames.

Frames sem arquivo

As duas formas comuns são lidas: V8 e Node escrevem at função (arquivo:linha:coluna); Firefox e Safari escrevem função@arquivo:linha:coluna. Caminhos do Windows como C:\app\index.js:42:11 ficam inteiros, e as formas curtas at arquivo:linha:coluna e at arquivo:linha também são lidas.

Frames sem localização não são descartados: at foo (native), at Array.forEach (<anonymous>), at async Promise.all (index 0), at eval (eval at <anonymous> (file.js:1:1), <anonymous>:1:1). Códigos de cor do terminal são removidos e uma chave final dos blocos cause do Node não quebra o frame daquela linha.

Linhas que não fazem parte de um trace

Um aviso de runtime como Node.js v20.11.0, a continuação de uma mensagem de várias linhas ou um aviso de framework como [Vue warn]: ... não são frames: aparecem sem alteração sob o trace e entram na contagem do relatório.

Traces de outros runtimes não são analisados como formato próprio: um frame Java ou .NET pode casar por acaso porque se parece com at nome (arquivo:linha), um traceback Python normalmente não casa, e de qualquer forma todas as linhas permanecem na saída.

Se o texto colado não tiver cabeçalho nem frame, a página avisa e devolve o texto sem alterações em vez de inventar um resultado.

Ferramentas recentes: