Formateador de stack traces JavaScript

Pega trazas de pila JavaScript para revisar funciones, archivos, líneas y columnas. Los errores se agrupan según la firma de su traza.

Se ejecuta localmente en tu navegador
Esta herramienta procesa todos los datos localmente en tu navegador.
Trazas de pila JavaScriptPega trazas JavaScript en formato Node.js/V8 o Firefox/Safari. El análisis se realiza en este navegador.

Cómo formatear un stack trace

Pega la salida de error de Node.js, de una consola del navegador o de un archivo de log. La página divide el texto en trazas, imprime cada frame reconocido como función, archivo, línea y columna, y agrupa las trazas que comparten los tres primeros frames.

El formateo se ejecuta en esta pestaña. No se sube nada y no sale ninguna petición mientras trabajas.

  1. Pega una o varias trazas en Trazas de pila JavaScript, o pulsa Cargar ejemplo para ver la forma que espera el analizador.
  2. Pulsa Formatear trazas. Cada traza se convierte en un bloque numerado y los frames se reescriben como at función (archivo:línea:columna).
  3. Consulta Grupos de errores: las trazas con los mismos tres primeros frames se cuentan juntas y la tarjeta indica el frame superior del grupo.
  4. Usa Copiar o Descargar para llevarte el texto formateado, y Limpiar para vaciar la entrada, la salida y el informe.
  5. Si el informe cuenta líneas no reconocidas, siguen en la salida tal como las pegaste.

Qué muestra la salida formateada

Encabezados que reconoce el analizador

Una traza empieza en la línea que nombra el fallo: TypeError: con su mensaje, un envoltorio de consola como Uncaught (in promise) TypeError:, UnhandledPromiseRejectionWarning:, DOMException:, AggregateError: o cualquier identificador que termine en Error, Exception, Warning o Rejection. También cuenta una línea que empieza con marca de tiempo y nivel (2026-09-17T10:00:00Z ERROR TypeError: ...) o con el nivel entre corchetes ([error] TypeError: ...).

Un encabezado abre una traza nueva cuando la línea anterior era un frame o cuando hay una línea en blanco en medio. Node escribe un error envuelto como [cause]: Error: ..., y esa línea pasa a ser su propia traza para que la causa conserve sus frames.

Frames sin archivo

Se leen las dos formas habituales: V8 y Node escriben at función (archivo:línea:columna); Firefox y Safari escriben función@archivo:línea:columna. Las rutas de Windows como C:\app\index.js:42:11 se mantienen enteras y también se leen las formas cortas at archivo:línea:columna y at archivo:línea.

Los frames sin ubicación no se descartan: 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). Los códigos de color del terminal se eliminan y una llave final de los bloques cause de Node no rompe el frame de esa línea.

Líneas que no forman parte de una traza

Un aviso de runtime como Node.js v20.11.0, la continuación de un mensaje de varias líneas o un aviso de framework como [Vue warn]: ... no son frames: se imprimen sin cambios bajo su traza y se cuentan en el informe.

Las trazas de otros runtimes no se analizan como formato propio: un frame de Java o .NET puede coincidir por casualidad porque se parece a at nombre (archivo:línea), un traceback de Python normalmente no coincide, y en cualquier caso todas las líneas siguen en la salida.

Si el texto pegado no contiene ni encabezado ni frame, la página lo indica y devuelve el texto sin cambios en lugar de inventar un resultado.

Herramientas recientes: