Inicio › Herramientas para desarrolladores › Formateador de JavaScript (JavaScript Beautifier)

Formateador de JavaScript (JavaScript Beautifier)

Pega JavaScript minificado o desordenado y obtén código limpio con una sangría coherente, o compáctalo en una versión minificada. Elige la sangría, el estilo de llaves y el ajuste de línea. Tu código se queda en tu navegador.

Última actualización:

Publicidad
Publicidad

Cómo usar Formateador de JavaScript (JavaScript Beautifier)

  1. Pega tu código en el cuadro de la izquierda o pulsa Subir .js para abrir un archivo.
  2. Elige las opciones: tamaño de sangría, estilo de llaves, líneas en blanco y ajuste de línea. Marca JSX para componentes de React.
  3. Pulsa Embellecer. El código formateado aparece a la derecha y se actualiza mientras editas.
  4. O pulsa Minificar para eliminar comentarios y espacios en blanco y ver cuántos bytes ahorras.
  5. Copia el resultado o descárgalo como archivo .js.

Comparación de estilos de llaves

La misma función formateada con cada estilo de llaves:

EstiloResultadoHabitual en
Collapse
if (ok) {
    run();
} else {
    stop();
}
La mayoría de las guías de estilo de JavaScript (Airbnb, Google, Standard, Prettier)
Expand
if (ok)
{
    run();
}
else
{
    stop();
}
Equipos que vienen de C# (estilo Allman)
End-expand
if (ok) {
    run();
}
else {
    stop();
}
Algunas bases de código antiguas o influidas por PHP

Collapse, preserve inline funciona como collapse, pero deja en una sola línea los bloques cortos como { x: 1, y: 2 } o if (a) { b(); } cuando los escribiste así.

Qué elimina el minificador y qué conserva

  • Se elimina: los comentarios de línea, los comentarios de bloque (excepto los comentarios de licencia /*! si la opción está activada), la sangría, las líneas en blanco y los espacios que no son necesarios entre tokens.
  • Se conserva tal cual: el contenido de las cadenas, los template literals (incluidas las expresiones ${…} anidadas) y los literales de expresiones regulares como /\/\*.*\*\//g.
  • Se conserva por seguridad: un salto de línea siempre que la inserción automática de punto y coma pueda depender de él, por ejemplo después de return, break, throw y yield, alrededor de ++ y --, y entre dos instrucciones escritas sin punto y coma. Se mantiene un espacio entre tokens que de otro modo se fusionarían, como a - -b o 1 .toString().
  • No se hace: renombrar variables, eliminar código muerto ni reescribir expresiones. Para eso se necesita un minificador completo basado en un parser, como Terser, esbuild o SWC, que normalmente ahorran otro 20 a 40 por ciento.

Leer código minificado: consejos prácticos

  • Primero embellece el código y luego usa la búsqueda del navegador para encontrar literales de cadena, como mensajes de error o URL, que sobreviven intactos a la minificación.
  • Los nombres de una sola letra como e, t y n suelen ser parámetros de función renombrados por el minificador. Renómbralos en tu copia a medida que descubras qué hacen.
  • Patrones como !0 y !1 significan true y false, void 0 significa undefined, y a && b() es una forma compacta de if (a) b().
  • Si hay un comentario //# sourceMappingURL=, es posible que el código fuente original esté disponible en las herramientas para desarrolladores del navegador, lo cual es mucho mejor que cualquier formateador.

¿Qué ajustes corresponden a las guías de estilo populares?

EstiloSangríaLlavesNotas
Prettier (predeterminado)2 espaciosCollapseAjusta a 80 caracteres, con punto y coma
Airbnb2 espaciosCollapseLíneas de hasta 100 caracteres
Google JavaScript Style Guide2 espaciosCollapseLíneas de hasta 80 caracteres
StandardJS2 espaciosCollapseSin punto y coma, espacio antes de los paréntesis de función
WordPress y jQueryTabulacionesCollapseEspacios dentro de los paréntesis

En un proyecto de equipo, los ajustes importan menos que aplicarlos en todas partes. Una vez elegido un estilo, un formateador en tu editor o un hook de pre-commit mantiene todos los archivos coherentes automáticamente.

Preguntas frecuentes

¿Puede desminificar JavaScript?

Sí. Al embellecer se vuelven a añadir saltos de línea y sangría al código minificado para que puedas leerlo. No puede recuperar los nombres de variables originales ni los comentarios que un minificador eliminó o acortó, pero la estructura se vuelve fácil de seguir.

¿Embellecer cambia cómo se ejecuta mi código?

No. El formateador solo cambia los espacios en blanco y los saltos de línea, que no afectan a cómo se ejecuta JavaScript. La única excepción es el código muy antiguo que depende de la inserción automática de punto y coma de formas poco habituales, algo que el formateador también trata de manera conservadora.

¿Qué tan seguro es el minificador?

Solo elimina comentarios y espacios en blanco innecesarios. Entiende las cadenas, los template literals y las expresiones regulares, conserva los comentarios de licencia /*! si quieres y mantiene un salto de línea siempre que quitarlo pueda cambiar la inserción automática de punto y coma (por ejemplo, después de return). No renombra variables, así que para compilaciones de producción un minificador completo como Terser o esbuild ahorrará más.

¿Qué significan los estilos de llaves?

Collapse mantiene la llave de apertura en la misma línea que la instrucción (estilo K&R, el más común en JavaScript). Expand pone cada llave en su propia línea (estilo Allman). End-expand pone solo las llaves de cierre en su propia línea, y preserve-inline mantiene en una línea los bloques cortos como { a: 1 }.

¿Puedo formatear JSON o TypeScript aquí?

JSON es JavaScript válido y se formatea bien, pero el formateador de JSON además lo valida. TypeScript suele formatearse bien porque el formateador es tolerante, aunque las anotaciones de tipo se tratan como tokens normales. Para JSX, marca la opción JSX.

¿Se sube mi código a algún sitio?

No. El formateo y la minificación se hacen en tu navegador. La biblioteca js-beautify se descarga una vez desde una CDN pública y tu código nunca se envía a un servidor.

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Formateadores y validadores de código →