UTILS.
100% no navegador
🎨

Embelezador / Formatador de JavaScript

Formate JavaScript e JSON minificados ou desorganizados com indentação, espaçamento e quebras de linha consistentes — um formatador feito à mão que roda totalmente no navegador.

— a saída aparece aqui —

Sobre esta ferramenta

O Embelezador de JavaScript reformata JavaScript e JSON minificados, em uma linha ou com indentação inconsistente em código-fonte limpo e legível com indentação e espaçamento uniformes. É útil para ler uma biblioteca empacotada, organizar um trecho copiado ou inspecionar um blob JSON. Tudo acontece no seu navegador — o código é apenas reformatado como texto, nunca executado, então não há eval, nem new Function, e nada é enviado.

O formatador é um tokenizador feito à mão, não um truque de regex: ele varre o código-fonte em tokens enquanto pula corretamente os interiores de strings, template literals, expressões regulares e comentários de linha/bloco, de modo que aspas e barras dentro deles nunca sejam confundidas com estrutura. Uma heurística clássica de lookbehind distingue um operador de divisão de um literal de expressão regular. O fluxo de tokens é então re-emitido com quebras de linha após '{', '[' e ';', linhas com indentação reduzida antes de '}' e ']', um item por linha dentro de literais de objeto e array, e um único espaço ao redor de operadores e após palavras-chave.

Escolha uma indentação de 2 espaços, 4 espaços ou uma tabulação, e um estilo de chaves: collapse mantém a chave de abertura na mesma linha (K&R / 1TBS), enquanto expand a move para a sua própria linha (Allman). Como a ferramenta preserva o conteúdo de strings e regex byte por byte, o código reformatado é semanticamente idêntico à entrada. Copie o resultado diretamente para o seu editor.

Perguntas frequentes

Ele executa ou avalia o meu código?
Não. O embelezador apenas tokeniza e re-emite o seu código-fonte como texto. Ele nunca chama eval nem new Function e nunca executa o código, então colar JavaScript não confiável ou proprietário é seguro. Todo o trabalho fica no seu navegador.
Funciona com JSON também?
Sim. JSON é um subconjunto da sintaxe do JavaScript, então colar um objeto ou array JSON minificado o reformata em uma forma indentada, com uma chave por linha. Strings, números e estruturas aninhadas são formatados da mesma forma que no JavaScript.
Qual é a diferença entre os estilos de chaves?
Collapse (K&R / 1TBS) mantém a chave de abertura na mesma linha da instrução, por exemplo 'if (x) {'. Expand (Allman) coloca a chave de abertura na sua própria linha abaixo da instrução. Ambos produzem código idêntico e válido — apenas o layout difere.
Isso vai mudar o que o meu código faz?
Não. Apenas espaços em branco, indentação e quebras de linha mudam. O conteúdo de strings, template literals e expressões regulares é preservado exatamente, então a saída reformatada é funcionalmente idêntica ao código-fonte original.

Mais ferramentas