Glyph WidgetsGlyph Widgets
FerramentasSobreContatoBlogPrivacidadeTermosRemover AnúnciosApoiar no Ko-fi

© 2026 Glyph Widgets LLC. Todos os direitos reservados.

·

100% Processamento no Cliente

Voltar ao Blog

SQL Formatter: Formatar e embelezar SQL

SQL Formatter: embeleze consultas MySQL, PostgreSQL, SQL Server, SQLite e mais. Caixa de keywords, indentação e minificação. Grátis.

Glyph Widgets
27 de fevereiro de 2026
11 min de leitura
sql formattersql beautifierformatar sql onlinesql pretty printmysql formatter

O que é o SQL Formatter?

SQL Formatter é uma ferramenta baseada em navegador que transforma consultas SQL não formatadas, comprimidas ou com estilos inconsistentes em código limpo e legível com indentação adequada e caixa consistente de keywords. Desenvolvedores e analistas de dados encontram SQL mal formatado constantemente — consultas escritas inline em código de aplicação, saída de logs de debug de ORM, SQL copiado de documentação ou consultas que evoluíram por edições incrementais e perderam sua estrutura.

A ferramenta pega esse SQL bruto e aplica formatação consciente do dialeto usando a biblioteca sql-formatter, que entende as regras de sintaxe de Standard SQL, MySQL, MariaDB, PostgreSQL, PL/SQL (Oracle), T-SQL (SQL Server) e SQLite. Você pode escolher seu dialeto alvo, definir a largura de indentação, alternar keywords em maiúsculas e minificar o resultado. Todo o processamento roda localmente no seu navegador sem servidor, cadastro nem custo.

Funcionalidades principais

  • Formatar SQL com indentação adequada — Usa a biblioteca sql-formatter com tabWidth configurável e espaçamento linesBetweenQueries: 2 entre múltiplas instruções em um único colagem.
  • Suporte a múltiplos dialetos SQL — Escolha entre Standard SQL, MySQL, MariaDB, PostgreSQL, PL/SQL (Oracle), T-SQL (SQL Server) e SQLite. A seleção de dialeto afeta como o formatter lida com sintaxe específica do dialeto e palavras reservadas.
  • Configurações de indentação personalizáveis — Selecione 2 ou 4 espaços de indentação na barra de ação.
  • Toggle de maiúsculas em keywords — Um botão alterna entre keywordCase: 'upper' e keywordCase: 'preserve'. Quando ativo (padrão), todos os keywords SQL são padronizados em maiúsculas (SELECT, FROM, WHERE, JOIN, etc.). Quando desativado, a caixa é deixada como está.
  • Minificar SQL — Remove espaço em branco extra formatando com tabWidth: 0 e colapsando o resultado. A saída minificada é uma linha única com espaços simples entre tokens.
  • Copiar saída formatada para a área de transferência — Clipboard API com fallback de textarea.
  • Baixar como arquivo .sql — Salva a saída como formatted.sql com tipo MIME text/sql.
  • Atalhos de teclado — Ctrl+Enter (Cmd+Enter) formata; Ctrl+Shift+M (Cmd+Shift+M) minifica.

Como usar o SQL Formatter

Passo 1: Colar seu SQL

Abra a ferramenta em /developer/code/sql-formatter. Cole sua consulta ou consultas SQL no painel de entrada à esquerda. Múltiplas instruções separadas por ponto e vírgula são suportadas — o formatter coloca duas linhas em branco entre cada instrução na saída.

Passo 2: Selecionar dialeto e opções

Na barra de ação abaixo dos painéis:

  1. Escolher um dialeto do menu suspenso: Standard SQL, MySQL, MariaDB, PostgreSQL, PL/SQL (Oracle), T-SQL (SQL Server) ou SQLite. Combine com o mecanismo de banco de dados em que sua consulta será executada para obter a formatação mais precisa.
  2. Escolher indentação: 2 ou 4 espaços.
  3. Alternar Uppercase: O botão Uppercase está ativo por padrão. Quando ativo, todos os keywords SQL são normalizados em maiúsculas. Clique para desativá-lo e preservar sua caixa original.

Passo 3: Clicar em Format

Clique em Format ou pressione Ctrl+Enter / Cmd+Enter. O SQL formatado aparece no painel de saída somente leitura. A ferramenta exibe o dialeto na entrada do histórico (ex.: "Formatted POSTGRESQL (2,4 KB)").

Exemplo de entrada — consulta inline da saída de debug da aplicação:

select u.id,u.email,u.created_at,count(o.id) as order_count,sum(o.total_amount) as total_spent from users u left join orders o on u.id=o.user_id where u.active=true and u.created_at>='2024-01-01' group by u.id,u.email,u.created_at having count(o.id)>0 order by total_spent desc limit 25

Saída com dialeto PostgreSQL, indentação de 2 espaços, uppercase ativo:

SELECT
  u.id,
  u.email,
  u.created_at,
  COUNT(o.id) AS order_count,
  SUM(o.total_amount) AS total_spent
FROM
  users u
  LEFT JOIN orders o ON u.id = o.user_id
WHERE
  u.active = TRUE
  AND u.created_at >= '2024-01-01'
GROUP BY
  u.id,
  u.email,
  u.created_at
HAVING
  COUNT(o.id) > 0
ORDER BY
  total_spent DESC
LIMIT
  25

Passo 4: Minificar (opcional)

Clique em Minify ou pressione Ctrl+Shift+M / Cmd+Shift+M para produzir uma string SQL de uma linha. As configurações de uppercase e dialeto ainda se aplicam durante a minificação. O SQL minificado é útil para incorporar consultas em variáveis de ambiente, strings de configuração ou diffs de comparação onde mudanças de linha seriam ruidosas.

Saída minificada da mesma consulta:

SELECT u.id, u.email, u.created_at, COUNT(o.id) AS order_count, SUM(o.total_amount) AS total_spent FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.active = TRUE AND u.created_at >= '2024-01-01' GROUP BY u.id, u.email, u.created_at HAVING COUNT(o.id) > 0 ORDER BY total_spent DESC LIMIT 25

Passo 5: Copiar ou baixar

Clique em Copy para colocar a saída na sua área de transferência. Clique em Download para salvar formatted.sql. Ambos os botões ficam desabilitados até que haja saída no painel direito.

Exemplos práticos

Limpar consulta de debug de ORM

A saída de debug do Django ou Rails registra consultas em uma única linha com caixa mista. Uma entrada típica do log de consultas do Django:

select "products"."id", "products"."name", "products"."price", "products"."stock_count" from "products" where "products"."category_id" = 12 and "products"."active" = true order by "products"."name" asc

Selecione o dialeto PostgreSQL (o Django usa aspas duplas de estilo PostgreSQL), ative maiúsculas e clique em Format. A saída mostra indentação adequada com keywords em maiúsculas preservando os identificadores entre aspas duplas.

Revisar um procedimento armazenado

Um procedimento armazenado T-SQL foi versionado como um único bloco não formatado. Selecione o dialeto T-SQL (SQL Server) e clique em Format para obter uma versão indentada e legível com caixa consistente de keywords. A versão formatada é mais fácil de revisar em um diff de pull request e pode ser reincorporada para substituir o original.

Incorporar uma consulta em configuração

Sua aplicação armazena uma consulta de relatório em um arquivo de configuração YAML como uma string de uma linha. Construa e teste a consulta com formatação adequada no SQL Formatter, depois clique em Minify para produzir a versão compacta para incorporar. Manter a versão formatada em um comentário ao lado da versão minificada torna o arquivo de configuração fácil de manter.

# Versão formatada (para legibilidade):
# SELECT product_id, SUM(quantity) AS units_sold
# FROM order_items
# WHERE order_date >= :start_date
# GROUP BY product_id
# ORDER BY units_sold DESC

report_query: "SELECT product_id, SUM(quantity) AS units_sold FROM order_items WHERE order_date >= :start_date GROUP BY product_id ORDER BY units_sold DESC"

Dicas e boas práticas

Combine o dialeto com seu banco de dados. Embora a maioria da formatação SQL seja independente de dialeto, a biblioteca sql-formatter lida com sintaxe específica do dialeto (como sintaxe de cast :: no PostgreSQL, TOP no T-SQL e diferenças de posicionamento de LIMIT/OFFSET) com mais precisão quando o dialeto correto é selecionado.

Use maiúsculas para legibilidade em code review. A convenção SQL de keywords em maiúsculas é amplamente reconhecida e torna os componentes estruturais (SELECT, FROM, WHERE, JOIN) visualmente distintos de identificadores e literais. Ative o toggle de uppercase antes de formatar código que será revisado ou commitado.

Formate antes de comparar. Ao comparar duas versões de uma consulta, formate ambas primeiro com as mesmas configurações. Diffs em SQL não formatado produzem saída ruidosa porque uma única mudança estrutural pode afetar muitas linhas. Diffs de SQL formatado mostram apenas mudanças significativas.

Múltiplas instruções funcionam. Você pode colar um arquivo de migração ou um script com múltiplas instruções CREATE TABLE, INSERT e ALTER TABLE separadas por ponto e vírgula. O formatter produz duas linhas em branco entre cada instrução para separação visual.

Salve presets para convenções da equipe. Os apoiadores do Glyph Widgets podem salvar as configurações de dialeto, indentação e maiúsculas como um preset nomeado. Crie um preset por projeto (ex.: "MySQL 2-espaços maiúsculas") para aplicar as convenções da equipe com um clique ao alternar entre projetos.

Problemas comuns e solução de problemas

Mensagem de erro após clicar em Format — A biblioteca sql-formatter lança um erro em sintaxe que não consegue reconhecer. Causas comuns: extensões proprietárias não suportadas pelo dialeto selecionado, código procedural (corpos de função PL/pgSQL, blocos T-SQL BEGIN/END) ou SQL misturado com sintaxe de template de camada de aplicação como {{ variable }} ou #{variable}. Remova ou comente as partes não suportadas antes de formatar.

Keywords não sendo maiusculizadas — Confirme que o botão Uppercase está no estado ativo (preenchido, estilo primário). Se o botão estiver no estilo contorno, a caixa está configurada para preserve. Clique uma vez para ativar o modo maiúsculas.

Dialeto errado causa quebras de linha inesperadas — As regras de quebra de linha da biblioteca sql-formatter variam por dialeto. Se uma consulta formatar de forma estranha, tente Standard SQL como dialeto.

Saída minificada ainda tem múltiplos espaços em alguns lugares — A abordagem de minificação reduz todas as sequências de espaço em branco a espaços simples. O conteúdo de string entre aspas não é afetado — os espaços dentro de strings entre aspas simples são preservados.

Erro "Please enter SQL to format" — A entrada está vazia. Cole uma consulta SQL no painel esquerdo antes de clicar em Format.

O arquivo baixado se chama formatted.sql todas as vezes — Este é o nome de arquivo fixo. Renomeie o arquivo após baixar para corresponder à convenção de nomenclatura do seu projeto.

Privacidade e segurança

O SQL Formatter processa todo o texto SQL localmente no seu navegador usando a biblioteca sql-formatter. Nenhum texto de consulta — incluindo nomes de tabelas, nomes de colunas, valores de dados, credenciais em strings de conexão ou qualquer outro conteúdo — é enviado para um servidor. A ferramenta funciona offline depois que a página carregar. Isso a torna segura para uso com nomes de esquemas proprietários, lógica de negócio interna ou consultas com dados de exemplo.

Perguntas frequentes

O SQL Formatter é gratuito? Sim, completamente gratuito. Todas as opções de formatação, minificação e dialeto estão disponíveis sem taxa ou conta. As funcionalidades para apoiadores do Glyph Widgets, como presets salvos e histórico de sessão, estão disponíveis para apoiadores do Ko-fi, mas a formatação SQL principal é irrestrita.

Funciona offline? Sim. Depois que a página carregar, toda a formatação roda localmente no seu navegador usando JavaScript. Você pode desconectar da internet e continuar formatando consultas sem interrupção.

Meu SQL está seguro? Sim. Seu SQL nunca é transmitido a qualquer servidor. Ele é processado completamente na memória do navegador e descartado quando você limpa a ferramenta ou fecha a aba. Você pode colar com segurança consultas contendo nomes de tabelas internas, lógica de negócio ou valores de dados de exemplo.

Quais dialetos SQL são suportados? A ferramenta suporta Standard SQL, MySQL, MariaDB, PostgreSQL, PL/SQL (Oracle), T-SQL (SQL Server) e SQLite. Esses correspondem diretamente ao parâmetro language da biblioteca sql-formatter.

A ferramenta valida a sintaxe SQL? A biblioteca sql-formatter realiza análise suficiente para formatar SQL e lançará um erro em certas sintaxes que não consegue lidar, mas não é um validador SQL no sentido estrito. Para verdadeira validação de sintaxe, use EXPLAIN ou o planejador de consultas do seu motor de banco de dados.

Posso formatar múltiplas consultas de uma vez? Sim. Cole múltiplas instruções separadas por ponto e vírgula. O formatter coloca duas linhas em branco entre cada instrução formatada, tornando os limites entre as consultas claros.

O que exatamente o toggle Uppercase faz? Quando habilitado, o formatter define keywordCase: 'upper' nas opções do sql-formatter, que converte todas as palavras reservadas SQL para maiúsculas — SELECT, FROM, WHERE, JOIN, ON, GROUP BY, ORDER BY, LIMIT, nomes de funções como COUNT, SUM, MAX, etc. Quando desabilitado, keywordCase: 'preserve' deixa qualquer caixa que estava na sua entrada inalterada.

O formatter lida com CTEs (Common Table Expressions)? Sim. CTEs (WITH ... AS (...)) são formatados corretamente com indentação adequada para a definição do CTE e a consulta principal que segue. Isso se aplica a todos os dialetos suportados.

Qual é o atalho de teclado para formatar? Ctrl+Enter no Windows/Linux ou Cmd+Enter no macOS. Para minificar, use Ctrl+Shift+M no Windows/Linux ou Cmd+Shift+M no macOS.

Posso formatar instruções DDL como CREATE TABLE? Sim. A biblioteca sql-formatter lida com DDL (CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, etc.) assim como DML (SELECT, INSERT, UPDATE, DELETE) e DCL (GRANT, REVOKE). Scripts mistos com DDL e DML formatam corretamente quando separados por ponto e vírgula.

Ferramentas relacionadas

JSON Formatter — Formate e valide dados JSON com validação de esquema, geração de esquema e um visualizador de árvore interativo.

XML Formatter — Formate e valide documentos XML com indentação configurável e minificação.

YAML Formatter — Formate arquivos de configuração YAML e converta-os para JSON.

Experimente o SQL Formatter agora: SQL Formatter

Última atualização: 27 de fevereiro de 2026

Continuar Lendo

Mais ArtigosExperimentar SQL Formatter