Formatador e Identador de SQL

Cole uma query — ou um script de migração inteiro — e receba um SQL legível, com uma cláusula por linha, joins alinhados e palavras-chave com caixa consistente, seguindo a gramática do seu banco.

Atualizado em
 
SQL formatado
 

Seus dados nunca saem do seu computador. Todo o processamento acontece localmente no navegador.

Como usar: Formatador SQL

  1. Cole uma ou mais instruções SQL em SQL de entrada (ou abra um arquivo .sql).
  2. Selecione o seu dialeto — isso importa para coisas como identificadores com crase no MySQL, casts :: no PostgreSQL ou TOP no SQL Server.
  3. Escolha a caixa das palavras-chave e a indentação. A query formatada é atualizada enquanto você digita.
  4. Copie o resultado ou baixe como query.sql.

O que um formatador de SQL faz?

SQL não se importa com espaços em branco, então queries geradas por ORMs, registradas em logs do banco ou escritas com pressa acabam muitas vezes numa linha gigantesca. Um formatador de SQL analisa a instrução e a reescreve com cada cláusula principal — SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY — começando em uma nova linha, com as listas de colunas indentadas embaixo e as subqueries aninhadas um nível a mais. Isso facilita muito encontrar uma condição de join esquecida, um OR mal posicionado ou uma coluna que faltou no group by.

Exemplo

select u.id, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.active = 1 group by u.id

vira

SELECT
  u.id,
  count(o.id) AS orders
FROM
  users u
  LEFT JOIN orders o ON o.user_id = u.id
WHERE
  u.active = 1
GROUP BY
  u.id

Por que a configuração de dialeto importa

Cada banco estende o SQL de um jeito diferente. Escolher o dialeto certo permite que o formatador reconheça palavras-chave e sintaxes específicas de cada fornecedor, em vez de tratá-las como erro:

DialetoExemplos que ele entende
MySQL / MariaDBidentificadores com `crase`, LIMIT 10, 20, ON DUPLICATE KEY UPDATE
PostgreSQLcasts ::, parâmetros $1, RETURNING, corpos de função entre aspas de dólar
SQL Server (T-SQL)nomes entre [colchetes], TOP (10), @variáveis, lotes com GO
BigQuerytipos STRUCT/ARRAY, caminhos project.dataset.table entre crases, QUALIFY
Oracle PL/SQLvariáveis :bind, CONNECT BY, strings q'[…]'

Se uma query falhar com erro de parse, a causa mais comum é um dialeto diferente do correto — tente selecionar o banco que você realmente usa. O formatador é baseado na biblioteca de código aberto sql-formatter e roda inteiramente no seu navegador, então queries de produção com dados de clientes nunca saem da sua máquina.

Caixa das palavras-chave: maiúsculas ou minúsculas?

Palavras-chave em MAIÚSCULAS são a convenção tradicional e destacam a estrutura da query em relação a nomes de tabelas e colunas; muitos times modernos preferem minúsculas por serem mais fáceis de digitar e ler. Escolha uma e mantenha a consistência — linters como o SQLFluff podem forçar isso no CI. A opção Funções controla separadamente funções nativas como count() ou coalesce().

Quer comparar duas versões de uma query? Cole-as no Comparador de Diferenças. Exportou resultados em JSON? Transforme-os em planilha com JSON para CSV.

Também pesquisado como: formatar sql online, beautifier sql, identar sql, deixar sql bonito, organizar query sql, formatador de query mysql, formatar código sql postgresql, sql pretty print.

Ferramentas que combinam com: Formatador SQL

  • Formatação JSON — Cole o JSON aqui para formatá-lo, compactá-lo ou validá-lo.
  • CSV para JSON — Cole um CSV ou TSV e receba um array JSON de objetos.
  • Formatador JavaScript — Desminifique e deixe legível JavaScript, JSON ou JSX com a indentação e o estilo de chaves que você preferir, ou remova espaços e comentários com um minificador verificado.
  • Formatador HTML — Cole HTML minificado ou bagunçado e receba um código limpo e com indentação consistente, incluindo os blocos <style> e <script> embutidos.

Perguntas frequentes

O formatador muda o que a minha query faz?
Não. Apenas os espaços em branco e a caixa das palavras-chave (e das funções, se você escolher) mudam. Identificadores, literais de string e a ordem de tudo continuam iguais.
Por que recebo um erro de parse?
O formatador precisa entender o SQL para organizá-lo. Erros geralmente significam que o dialeto errado está selecionado ou que a instrução usa uma sintaxe que esse dialeto não suporta — placeholders de template como {{ var }} também podem confundi-lo.
Consigo formatar várias instruções de uma vez?
Sim. Separe as instruções com ponto e vírgula; cada uma será formatada e separada por uma ou duas linhas em branco, conforme a configuração « Entre consultas ».
É seguro colar queries de produção?
Sim. A formatação roda no seu navegador com JavaScript e nada é enviado para o nosso servidor, então os valores das suas cláusulas WHERE permanecem privados.
Stored procedures e DDL são suportados?
CREATE TABLE, ALTER, INSERT, CTEs (WITH) e window functions são totalmente suportados. Blocos procedurais (PL/pgSQL, fluxo de controle do T-SQL) são formatados com base no melhor esforço.
Posso instalar o Formatador SQL como um aplicativo da web e usá-lo offline?
Sim. O Formatador SQL é um aplicativo da web instalável (PWA) — instalado a partir do seu navegador, não baixado de uma loja de aplicativos. Clique em “Instalar aplicativo” na parte superior desta página no Chrome ou no Edge (Windows, macOS, Linux, ChromeOS) ou, no Android, use “Compartilhar” → “Adicionar à tela inicial” no iPhone e no iPad, ou “Arquivo” → “Adicionar ao Dock” no Safari 17+ em um Mac. Em seguida, ela se abre em uma janela própria com seu próprio ícone e, como é executada inteiramente no seu navegador, continua funcionando offline. O Firefox no desktop não permite a instalação de aplicativos da web. Como funciona a instalação.

Ferramentas relacionadas