Sobre o SQL Format
O SQL Format é um formatador de SQL online e gratuito, acompanhado de uma série de guias sobre como escrever SQL legível. Esta página explica quem o mantém, por que ele existe, como o formatador funciona e como o projeto evoluiu ao longo do tempo.
Quem mantém o SQL Format
O SQL Format é construído e mantido por administradores de banco de dados e desenvolvedores. As regras de formatação vêm do trabalho diário com bancos de dados de produção: revisar consultas antes que entrem em produção, ler logs de consultas lentas, rastrear uma migration que falhou no meio do caminho e explicar um plano de execução ao desenvolvedor que escreveu a consulta. Essas tarefas ficam muito mais fáceis quando todas as consultas de uma base de código têm o mesmo formato, e é para isso que serve o formatador.
Os guias deste site são escritos a partir do mesmo ponto de vista. Eles se concentram em convenções que se sustentam na revisão de código e no controle de versão.
Por que ele existe
A maior parte do SQL é escrita às pressas: num console de consultas, dentro de uma string no código da aplicação, ou gerada por um ORM e copiada de um log. Ela acaba numa única linha longa, ou com a indentação que o editor de quem a escreveu por acaso usava. Ler esse SQL durante um incidente ou uma revisão custa tempo, e discutir o layout dele em pull requests custa ainda mais.
Um formatador resolve a questão do layout de uma vez por todas. Você cola a consulta, escolhe algumas opções que correspondem ao estilo do seu time e recebe de volta uma versão em que cada cláusula começa na sua própria linha, joins e condições estão alinhados e o aninhamento fica visível num relance. O guia de formatação para revisão de código e controle de versão explica por que um layout consistente também deixa os diffs menores e as revisões mais rápidas.
Também queríamos um formatador que respeitasse os seus dados. O seu SQL é formatado em memória e devolvido. Ele não é armazenado, registrado em log nem repassado a parceiros de análise ou de publicidade, e não há conta a criar. A página de privacidade traz os detalhes.
Como o formatador funciona
O formatador roda no nosso servidor. O motor dele foi portado de um formatador anterior escrito em Python. Quando você clica em Formatar, ele trabalha em três grandes etapas:
- Ele separa o SQL em tokens: palavras-chave, nomes, literais, operadores, comentários e pontuação são reconhecidos, de modo que literais de string, identificadores entre aspas e comentários possam ficar exatamente como você os escreveu, e operadores de vários caracteres como
->>ou::fiquem inteiros. - Ele organiza as cláusulas: cada cláusula principal, como
SELECT,FROM,WHERE,GROUP BYeORDER BY, começa numa nova linha, os itens do select vão um por linha, os joins ficam indentados sob oFROMe cada condiçãoANDouORganha a sua própria linha. - Ele indenta os blocos aninhados: subconsultas, expressões
CASEe corpos de funções do PostgreSQL ficam indentados um nível a mais que o código ao redor.
Cinco opções controlam o resultado: espaços de indentação, quantidade máxima de colunas, posição das vírgulas, caixa das palavras-chave e parênteses em nova linha. O formatador foi projetado para mudar apenas espaços em branco, quebras de linha e a caixa das palavras-chave, mas você ainda deve revisar a saída antes de executá-la, como faria com qualquer ferramenta que reescreve código. O FAQ traz os detalhes.
Os exemplos deste site
Sempre que um guia ou uma página de documentação mostra uma consulta "depois, formatada pelo SQL Format", essa saída foi produzida pelo mesmo motor que roda o formatador, com as opções indicadas na legenda. Você pode colar a versão "antes" no formatador com essas opções e obter o mesmo resultado. Os exemplos que ilustram um estilo escrito à mão, um erro a evitar ou a sintaxe de outro dialeto aparecem como código simples e não são identificados como saída do formatador.
Histórico do projeto
Um breve resumo de como o site evoluiu. O changelog traz a lista completa.
- Versão 0.0.1 (setembro de 2026). O SQL Format como um site independente: o formatador com as suas cinco opções, as páginas de contato e de privacidade, um tema claro e um escuro e a interface em dezesseis idiomas.
- Versão 2.0.1. Uma página do formatador reconstruída, com barra de opções, editor com números de linha, botões Copiar e Limpar, barra de status e o atalho Ctrl+Enter, além de melhorias de layout para
ORDER BYeGROUP BY. - Versão 2.3. Um banner de cookies com a escolha entre todos os cookies ou apenas os essenciais, uma página de privacidade mais completa, a interface abrindo no idioma do seu navegador na primeira visita e 4 espaços como indentação padrão.
- Versão 2.4. Guias sobre estilo de SQL, documentação de todas as opções, esta página Sobre, o FAQ, os termos de uso e o changelog, além de endereços específicos por idioma, como
/pt-br/e/es/. A versão 2.4.1 corrigiu uma série de detalhes de formatação, deNOT EXISTSe vírgulas à esquerda a nomes entre aspas e operadores do PostgreSQL.
Contato
Dúvidas, problemas de formatação e sugestões são bem-vindos pela página de contato. Se você estiver relatando um resultado de formatação inesperado, inclua uma pequena consulta que o reproduza e as opções que você usou, removendo quaisquer nomes confidenciais.