Cole o código Java e organize com os quatro seletores. Só o espaço entre tokens é reescrito: blocos de texto, literais, anotações e comentários mantêm o conteúdo — e nada é enviado.
Funciona localmente no seu navegadorCole o código Java e a página devolve o mesmo programa com indentação consistente, uma instrução por linha, o estilo de chaves que você escolher e quebra de linha opcional. Só o espaço entre tokens é reescrito: blocos de texto, strings, literais de caractere, números como 10_000L ou 0b1010, anotações e comentários mantêm o conteúdo.
Tudo roda nesta aba: nenhum código é enviado, a página funciona offline e nada é gravado em disco. O formatador não compila nem valida — um arquivo que não compila volta organizado, não corrigido.
O código é lido com as regras léxicas do Java: comentários de linha e de bloco, javadoc, blocos de texto, literais de caractere, escapes de string, números com prefixos 0x / 0b, separadores com underline e sufixos l / f / d, anotações e todos os operadores. A seta da lambda continua ->, a seta do switch continua -> e os genéricos saem compactos: Map<String, List<Integer>>, e não o Map < String > cheio de espaços que um beautifier de expressões produz.
A saída contém exatamente os tokens da entrada, na mesma ordem. É isso que preserva blocos """ , @SuppressWarnings({"unchecked"}) e literais como .5f, 10_000L ou 0x1.8p1. A saída formatada de um corpus de 15 arquivos — blocos de texto, records, interfaces sealed, switch expressions, pattern matching — volta a compilar com o javac 21. Única exceção proposital: linhas de continuação de comentários são reindentadas junto com o código.
A indentação é um tab ou 2, 3, 4 ou 8 espaços. Linhas em branco podem ser removidas, limitadas a uma ou duas, ou mantidas como estão. A quebra de linha fica desligada por padrão e pode partir linhas longas em 80 ou 120 caracteres; os cortes caem depois das vírgulas e antes dos operadores, com a continuação um nível à frente.
O estilo de chaves segue o seletor: K&R mantém a chave de abertura na mesma linha, Allman coloca a chave na própria linha e a terceira opção só move else, catch e finally para uma linha nova. No Chrome, um arquivo Java de 58 KB é organizado em cerca de 10 ms e um arquivo gerado de 4 MB em cerca de 0,5 s.
Não há compilador, conserto de sintaxe nem verificação do nível da linguagem: blocos de texto exigem Java 15+, switch expressions 14+ e records 16+. Um trecho que não compila volta organizado e continua sem compilar.
Também não segue um guia de estilo completo: não reordena imports, não quebra cadeias longas de condições além da largura configurada e não alinha chamadas encadeadas. Para um projeto, use o formatador da sua IDE; esta página serve para trechos, patches, logs e código que você não consegue abrir no editor.