Formatador de Código: SQL, XML, YAML, HTML, CSS e JS

Formate e minifique JavaScript, CSS, HTML, XML, SQL e YAML sem mudar o que o código faz. Cada linguagem diz na tela o que a operação garante. Tudo no seu navegador.

Revisão técnica: Cesar Gargiulo (segurança da informação)
Valim, o mascote do ValorFinal, representando a categoria Tecnologia

Formatação e minificação 100% locais no navegador. O código não é executado em nenhum momento: ele é lido caractere por caractere como texto, e nada é enviado para servidor.

Ao formatar JavaScript

Reindenta por bloco. Texto, template e expressão regular ficam intactos, porque a leitura é por tokens e não por substituição de espaço.

Ao minificar JavaScript

Remove comentário e espaço. Só junta duas linhas quando dá para PROVAR que juntar não muda o programa: depois de return, throw, break, continue e yield a quebra fica, senão o ponto e vírgula automático entraria e o código passaria a devolver outra coisa.

0 caracteres · 0 linhas · limite 100.000

Gostou? Mostre pra todo mundo

Gere um card bonito com a marca do ValorFinal para postar nos Stories ou mandar no WhatsApp. Nada que você digitou aparece no card.

Coloque no seu site

Cole o código, escolha a linguagem e clique em Formatar para indentar ou Minificar para reduzir o tamanho. O contrato de cada operação aparece na tela antes do resultado, porque formatar e minificar não garantem a mesma coisa em todas as linguagens.

Como funciona o cálculo

Cada linguagem tem um analisador léxico próprio que quebra o texto em tokens (texto literal, comentário, template, expressão regular, número, identificador, pontuação) antes de qualquer decisão. É isso que faz a ferramenta não se perder com uma barra dupla dentro de uma URL, com uma chave dentro de um template literal ou com um ponto e vírgula dentro de um url() de CSS.

O cuidado com o JavaScript. A linguagem insere ponto e vírgula automaticamente quando encontra uma quebra de linha em certos lugares, e a especificação chama isso de produção restrita. Depois de return, throw, break, continue e yield, e antes de ++ e --, a quebra MUDA o programa. Um minificador que junta linhas sem saber disso troca o resultado do seu código. Aqui a regra é o contrário do otimismo: a linha só é juntada quando o token anterior comprovadamente não pode terminar uma instrução, ou o próximo comprovadamente não pode começar uma. Quantas quebras foram mantidas por esse motivo aparece junto do resultado.

Para dados estruturados, combine com o formatador de JSON e o conversor de dados. Para comparar duas versões do mesmo arquivo, o comparador de texto.

Fórmula

Não há cálculo. Há um contrato por linguagem e por operação, visível na própria ferramenta. Em resumo:

  • Formatar nunca muda o conteúdo, só o espaço em branco entre os tokens.
  • Minificar JavaScript remove comentário e espaço e junta linha apenas com prova de segurança.
  • Minificar CSS mantém o espaço obrigatório dentro de calc, min, max e clamp, onde o operador exige espaço dos dois lados, e preserva comentário de licença.
  • Minificar marcação remove espaço entre tags, nunca o espaço que encosta em texto.
  • YAML não tem minificação. Retirar espaço ali é mudar o documento.

Base: ECMA-262 (a regra de inserção automática de ponto e vírgula), a especificação de sintaxe do CSS, o padrão HTML do WHATWG, XML 1.0 do W3C, SQL:92 e a especificação do YAML 1.2. Leitura e escrita por analisador léxico próprio, no navegador.

Limitações

  • A minificação de JavaScript não renomeia variável nem remove código morto. Para o build de produção, use Terser ou esbuild.
  • Uma barra logo depois de um fecha-parêntese é lida como divisão. É o único caso conhecido em que a leitura sem a gramática inteira pode errar, e quando a expressão regular não fecha na mesma linha a ferramenta volta atrás sozinha.
  • YAML com âncora, marca de tipo, diretiva ou vários documentos é recusado com explicação, em vez de reindentado no escuro.
  • A ferramenta organiza, não valida. Ela não diz se o seu SQL roda, se o seu HTML é válido nem se o seu CSS tem propriedade inexistente.
  • Limite de 100 mil caracteres por vez.

Guia completo

Formatador de código online: quando usar SQL, XML, YAML, HTML, CSS e JS

Entenda o que faz um formatador de código, a diferença entre formatar, validar e minificar, quando usar em SQL, XML, YAML, HTML, CSS e JavaScript, e os cuidados ao colar código sensível em ferramentas online.

Coloque a calculadora de Formatador de Código no seu site, de graça

Tem site, blog ou loja virtual? Esta calculadora tem uma versão para incorporar: você copia um código e cola no seu HTML. Sem cadastro, sem mensalidade e sem limite de acessos, e o cálculo acompanha a regra vigente sozinho.

calculadora de Formatador de Código para sitever todas as calculadoras para site

Calculadoras relacionadas

Guias sobre este tema

ValorFinal VIP: Sem anúncios, até 500 cenários salvos e comparação de cenários lado a lado.

Cálculo auditável, com fórmula e fontes transparentes

Atualizado em . Fontes: MDN Web Docs / especificações de cada linguagem.

Processamento local: esta ferramenta roda no seu navegador e nada é enviado a servidores automaticamente.

Como validamos

Referências técnicas

Links externos para o que foi consultado na construção desta página, com a natureza de cada fonte identificada. O conteúdo delas pode mudar sem aviso; em caso de divergência, vale sempre a fonte primária.

Incorpore esta calculadora no seu site (grátis)

Copie e cole o código no seu site. A calculadora se atualiza sozinha. O crédito ao ValorFinal vem junto do código e a gente agradece quem mantém, mas ele é opcional: pode remover sem perder o widget. O link sai com rel="nofollow", ou seja, não transfere autoridade de busca para a gente.

Perguntas frequentes

Quais linguagens este formatador suporta?

JavaScript, CSS, HTML, XML, SQL e YAML. Para cada uma há duas operações, formatar e minificar, e cada par tem um contrato escrito na tela dizendo exatamente o que é garantido e o que não é. O JSON tem ferramenta dedicada, o formatador e validador de JSON, porque ali o cuidado com número grande e chave repetida exige um leitor próprio.

A minificação pode mudar o que o meu JavaScript faz?

Não, e essa é a diferença desta versão. Até 13 de setembro de 2026 a minificação juntava todas as linhas com um espaço, e isso apaga a inserção automática de ponto e vírgula do JavaScript. Uma função que tinha return em uma linha e o valor na linha seguinte devolvia undefined antes e passava a devolver o valor depois: a ferramenta mudava o programa. Agora o código é lido em tokens de verdade, e duas linhas só são juntadas quando dá para provar que juntar não muda nada. Depois de return, throw, break, continue e yield a quebra sempre fica.

Por que a minificação de JavaScript comprime menos que o Terser?

Porque ela é conservadora de propósito. Ela remove comentário e espaço, que é a maior parte do peso, e junta o que é seguro juntar, mas não renomeia variável, não remove código morto e não reordena nada, porque isso exigiria entender a gramática inteira do JavaScript e o risco de errar é alterar o seu programa. Para o build de produção, use Terser ou esbuild na sua esteira. Esta ferramenta é para inspecionar, limpar e comparar rápido, sem instalar nada.

O código que eu colo é enviado para algum servidor?

Não. Tudo acontece no seu navegador. O conteúdo não é transmitido, não é salvo e não entra em log nem na URL. Depois que a página carrega, a ferramenta funciona sem conexão, e dá para conferir isso na aba de rede do navegador.

O formatador executa o meu código?

Nunca. O texto é lido caractere por caractere como texto. Nenhum JavaScript é interpretado, nenhum SQL é enviado a banco, nenhuma entidade externa de XML é resolvida e nenhuma requisição sai da página por causa do que você colou.

Por que o YAML às vezes é recusado em vez de formatado?

Porque em YAML o espaço em branco é a estrutura, e há construções que não dá para reindentar com segurança: âncora e alias, marca de tipo, diretiva, vários documentos no mesmo arquivo e chave complexa. Nesses casos a ferramenta devolve o conteúdo sem alterar e explica o motivo, em vez de entregar um arquivo que parece certo e mudou de significado. Tabulação no recuo também é recusada, porque o YAML não aceita tabulação para indentar. O que é suportado é normalizado para dois espaços por nível, e bloco literal (a barra vertical e o sinal de maior) não é tocado.

O que acontece com o conteúdo de pre, textarea, CDATA e comentário?

Nada. Em HTML, o conteúdo de pre, textarea, script e style é copiado byte a byte, porque ali todo espaço conta. Em XML, CDATA, comentário e instrução de processamento saem inteiros, e entidade não é expandida. Na minificação de marcação, o espaço que está só entre duas tags sai, mas o espaço que encosta em texto fica: em conteúdo misto ele separa a palavra do elemento, e apagá-lo gruda as duas.

O SQL pode ter palavra-chave dentro de um texto?

Pode, e é por isso que a leitura é por tokens. Em WHERE nome igual a 'pedro from silva', o from que está dentro das aspas não é palavra-chave: é parte do nome de alguém. O mesmo vale para comentário, para identificador entre aspas duplas (padrão e PostgreSQL), entre crase (MySQL) e entre colchetes (SQL Server). Nada disso é reescrito.

Qual dialeto de SQL é suportado?

O núcleo comum de consulta do SQL:92 mais o que PostgreSQL, MySQL, SQLite e SQL Server compartilham. O que é próprio de um dialeto é reconhecido e preservado, nunca reescrito. A ferramenta não valida a consulta, não entende procedimento armazenado e não reescreve nada: ela organiza o que você escreveu.