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.

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.
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,maxeclamp, 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.
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
Cores HEX, RGB e HSL
Entenda os formatos de cor HEX, RGB e HSL, como converter entre eles, como calcular contraste para acessibilidade e como usar cores com mais consistência em interfaces web, com exemplo prático.
O que é Markdown
Aprenda o que é Markdown, onde ele é usado (README, GitHub, docs, blogs e wikis), a sintaxe básica de títulos, listas, links, tabelas e blocos de código, e quando vale visualizar a prévia.
Comparar textos e JSON
Entenda como comparar textos, JSON e trechos de código, o que significam linhas adicionadas, removidas e alteradas, quando ignorar espaços e maiúsculas, e como evitar erros em revisão técnica.
Converter CSV, JSON, YAML, XML
Veja quando usar CSV, JSON, YAML e XML, como converter entre os formatos sem perder dados, e os cuidados com delimitadores, cabeçalhos, aspas, arrays e estruturas aninhadas.
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.
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.