100 % local — seus dados nunca saem do seu navegador

Formatador JavaScript — leia um script minificado

Reindente JavaScript. Strings, literais de template e expressões regulares passam intactos, e os seus comentários também: o código continua rodando.

Instantâneo Privado Zero cookies
Indentação

Entrada JavaScript

Saída JavaScript

O que esta ferramenta faz

JavaScript minificado ou mal espaçado vira JavaScript legível.

const a=[1,2,3].map(x=>x*2);if(a){b()}
const a = [1, 2, 3].map(x => x * 2);
if (a) {
  b()
}

Espaços em volta dos operadores, uma instrução por linha, um nível de indentação por bloco — dois espaços por padrão, quatro se você preferir. O código que sai roda exatamente como o que entrou.

O que a minificação levou, a formatação não devolve

function t(e){return e*2}
function t(e) {
  return e * 2
}

A estrutura voltou; os nomes, não. Os minificadores renomeiam para economizar bytes, e o multiplicarPorDois original não está escondido em algum canto do arquivo: ele sumiu. A formatação é a única metade reversível. Se o site publicou um source map, é ele que carrega os nomes, e as ferramentas de desenvolvimento do navegador o usam.

O que ele copia ao pé da letra

  • Strings e templates. "a b" mantém os dois espaços: entre aspas, um espaço é um valor, não diagramação.
  • Expressões regulares. /a b/ fica como está — um espaço num padrão casa com um espaço.
  • Comentários. De linha ou de bloco, mantêm o lugar, inclusive o aviso de licença no topo do arquivo.

Não é um validador nem um linter

Código quebrado volta indentado em vez de apontado, o que costuma ser o que você quer quando procura onde quebrou — mas um resultado arrumado não é um veredito. Para saber se é analisável, rode-o ou abra-o no seu editor; para estilo e erros, ESLint ou o equivalente no seu projeto.

Privado por padrão

Tudo é executado localmente no seu navegador com JavaScript. Os seus dados nunca são enviados para um servidor, o que torna a ferramenta segura para conteúdo sensível e funciona offline.

Perguntas frequentes

Colei código minificado e os nomes continuam com uma letra.
E vão continuar. Minificar renomeia `userProfile` para `t`, e esse renome não é reversível: os nomes originais simplesmente não estão mais no arquivo. Um formatador devolve os espaços e as quebras de linha, o que torna a estrutura legível — os laços, os desvios, os retornos —, mas nenhuma ferramenta devolve um nome que foi jogado fora. Um source map devolve, se o site publicou um.
Ele muda o meu código?
Só os espaços dele. Strings, templates e expressões regulares são copiados como estão — um espaço dentro de `"a b"` ou de `/a b/` faz parte do valor, não da diagramação. Nada é renomeado, nada é reordenado, nenhum ponto e vírgula é acrescentado: isto é diagramação, não reescrita.
É um linter?
Não. Ele não diz nada sobre variáveis não usadas, `==` contra `===`, ou um `let` que deveria ser `const`. Nem sequer verifica se o arquivo é analisável: JavaScript quebrado volta reindentado, o que costuma ajudar a achar onde quebrou, mas não é um veredito. Disso cuidam o ESLint e o seu editor.

Conversores relacionados