Formateador de código Java

Pega código Java y ordénalo con los cuatro selectores. Solo se reescriben los espacios entre tokens: los bloques de texto, literales, anotaciones y comentarios conservan su contenido, y no se sube nada.

Se ejecuta localmente en tu navegador
Copiar

Cómo dar formato a código Java en el navegador

Pega código Java y la página devuelve el mismo programa con sangría uniforme, una instrucción por línea, el estilo de llaves que elijas y salto de línea opcional. Solo se reescriben los espacios entre tokens, así que los bloques de texto, las cadenas, los literales de carácter, los números como 10_000L o 0b1010, las anotaciones y los comentarios conservan su contenido.

Todo se ejecuta en esta pestaña: no se sube código, la página sigue funcionando sin conexión y no se escribe nada en disco. El formateador no compila ni valida: un archivo que no compila vuelve ordenado, no corregido.

  1. Pega o escribe el código Java en el editor.
  2. Elige sangría, líneas en blanco, salto de línea y estilo de llaves; el resultado se recalcula al cambiar cualquier selector.
  3. Pulsa Formatear código Java o usa Ctrl / Cmd + Enter dentro del editor.
  4. Pulsa Copiar para llevarte el resultado y Limpiar para vaciar los dos paneles.

Qué reescribe el formateador y qué deja intacto

Solo espacios: el programa no puede cambiar

La fuente se lee con las reglas léxicas de Java: comentarios de línea y de bloque, javadoc, bloques de texto, literales de carácter, escapes de cadena, números con prefijos 0x / 0b, separadores con guion bajo y sufijos l / f / d, anotaciones y todos los operadores. Una flecha lambda sigue siendo ->, la flecha de switch sigue siendo -> y los genéricos quedan compactos: Map<String, List<Integer>>, no el Map < String > con espacios que produce un beautifier de expresiones.

La salida contiene exactamente los tokens de la entrada, en el mismo orden. Eso mantiene intactos los bloques """ , @SuppressWarnings({"unchecked"}) y literales como .5f, 10_000L o 0x1.8p1. La salida formateada de un corpus de 15 archivos —bloques de texto, records, interfaces sealed, switch de expresión, pattern matching— vuelve a compilar con javac 21. Única excepción deliberada: las líneas de continuación de los comentarios se reindentan con el código.

Las cuatro opciones, en la práctica

La sangría es un tabulador o 2, 3, 4 u 8 espacios. Las líneas en blanco se pueden quitar, limitar a una o dos, o conservar tal cual. El salto de línea está desactivado por defecto y puede partir líneas largas a 80 o 120 caracteres; los cortes caen después de las comas y antes de los operadores, con la continuación sangrada un nivel.

El estilo de llaves sigue al selector: K&R deja la llave de apertura en la misma línea, Allman la pone en su propia línea y la tercera opción solo mueve else, catch y finally a una línea nueva. En Chrome, un archivo Java de 58 KB se ordena en unos 10 ms y uno generado de 4 MB en unos 0,5 s.

Lo que no hace

No hay compilador, ni reparación de sintaxis, ni comprobación del nivel del lenguaje: los bloques de texto requieren Java 15+, las switch expressions 14+ y los records 16+. Un fragmento que no compila vuelve ordenado y sigue sin compilar.

Tampoco sigue una guía de estilo completa: no reordena imports, no parte cadenas largas de condiciones más allá del ancho de wrap y no alinea llamadas encadenadas. Para un proyecto usa el formateador de tu IDE; usa esta página para fragmentos, parches, extractos de logs y código que no puedes abrir en un editor.

Herramientas recientes: