Format and beautify SQL queries with syntax highlighting. Supports 6 dialects — Standard SQL, MySQL, PostgreSQL, T-SQL, PL/SQL, and SQLite.
SELECT u.id, u.name, u.email, count(o.id) AS order_count, sum(o.total) AS total_spent FROM users u LEFT JOIN orders o ON u.id = o.user_id WHERE u.created_at >= '2026-01-01' AND u.status = 'active' GROUP BY u.id, u.name, u.email HAVING count(o.id) > 0 ORDER BY total_spent DESC LIMIT 10;
This tool runs 100% in your browser. All computation happens locally on your device — your input is never uploaded to any server. Results are for reference only.
A formatter is a small compiler pipeline with two stages. The lexer reads the raw query and classifies each run of characters as a keyword, identifier, string literal, number, or operator — the same tokens a database parser would see. The printer then re-emits that token stream: it converts keywords to the chosen case (UPPERCASE, lowercase, or preserve), puts each major clause — SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY — on its own line, indents nested expressions by 2 spaces (or a tab), and always leaves string literals byte-for-byte intact. That last rule is what makes compress mode safe: newlines are stripped outside literals, so a multi-line string inside a query survives minification. Dialect support (MySQL backticks, T-SQL brackets, Postgres dollar quotes) tunes both stages.
Formatting never changes what the query means — it only changes how the token stream is laid out.
Ken maintains an analytics dashboard and pastes a minified SQL query his colleague copied straight out of the database console.
To format SQL: paste your query — the tool adds proper indentation, capitalizes keywords, and aligns clauses for readability. Supports MySQL, PostgreSQL, SQLite, and SQL Server.
FreeToolHub SQL Formatter is a free browser-based tool that beautifies and validates SQL queries, no signup, no upload.
Formatez et embellissez les requêtes SQL avec coloration syntaxique. Prend en charge le SQL standard, MySQL, PostgreSQL et T-SQL. Mode compression disponible. Gratuit, sans inscription.
Ce formateur embellit les requêtes SQL : il analyse l'instruction, applique une indentation et une mise en majuscules cohérentes aux mots-clés, divise les longues clauses en lignes lisibles, et ajoute une coloration syntaxique pour que la structure saute aux yeux. Il gère le SQL standard ainsi que les dialectes importants au quotidien — MySQL, PostgreSQL et T-SQL — et inclut un mode compression qui supprime les espaces blancs pour envoyer des requêtes via des API ou les intégrer dans du code où la taille compte. Le formatage s'exécute entièrement dans votre navigateur ; les requêtes ne touchent jamais un serveur, ce qui est crucial pour tout ce qui touche aux données de production.
Les analystes héritant de requêtes de plusieurs milliers de caractères collées à partir de journaux ou d'outils BI qui ont besoin de les rendre lisibles avant de les modifier. Les développeurs examinant des requêtes dans les relectures de code où le bruit du formatage noie les modifications logiques. Les administrateurs de bases de données documentant des requêtes et vues sauvegardées avec un style cohérent. Les ingénieurs de données déplaçant des requêtes entre dialectes qui veulent une gestion des mots-clés adaptée au dialecte. Quiconque colle du SQL dans des tickets, de la documentation ou Slack où un mur de texte perd le lecteur.
(1) Collez votre requête — instruction unique ou par lot. (2) Choisissez le dialecte : SQL standard, MySQL, PostgreSQL ou T-SQL, afin que les mots-clés et fonctions soient formatés selon ce style. (3) Le formateur indente les sous-requêtes imbriquées et les clauses JOIN sur leurs propres lignes, met les mots-clés en majuscules et aligne les listes de colonnes ; ajustez la largeur d'indentation si le style de votre équipe diffère. (4) Utilisez le mode compression pour minimiser lorsque vous avez besoin que la requête soit compacte. (5) Copiez le résultat ; le formatage préserve la sémantique, donc la sortie s'exécute de manière identique.
Le SQL non formaté est là que les bogues se cachent. Une clause WHERE entassée sur une seule ligne rend un AND manquant invisible ; des conditions alignées rendent les clés de jointure erronées évidentes d'un seul regard ; une mise en majuscules cohérente des mots-clés permet à l'œil de séparer instantanément la structure des données. Les conventions qui ont convergé entre équipes : mots-clés en majuscules et sur leurs propres lignes pour les clauses principales (SELECT, FROM, WHERE, GROUP BY, ORDER BY) ; une colonne par ligne dans les listes SELECT pour les longues requêtes, avec une convention de virgule finale que votre équipe choisit une fois ; les JOINs avec leur condition indentée sous la jointure ; les sous-requêtes indentées d'un niveau et séparées par une ligne vide. Au-delà de la lisibilité, le formatage est un contrat de collaboration : la relecture de code sur des requêtes formatées de manière cohérente revoit la logique au lieu d'argumenter sur les espaces blancs, et les diffs sur des requêtes formatées montrent les changements réels plutôt que le bruit de refluage. Le choix du dialecte compte plus que ce que l'on attend — T-SQL et PostgreSQL traitent certaines fonctions et identifiants différemment — donc formatez avec le dialecte que vous exécutez, et lors de l'envoi de requêtes via des API ou de leur intégration dans du code d'application, le mode compression supprime à nouveau les espaces blancs.
Parce que la même requête peut être écrite différemment selon le moteur : PostgreSQL utilise LIMIT tandis que SQL Server utilise TOP, MySQL met les identifiants entre backticks tandis que PostgreSQL utilise des guillemets doubles, et les packages PL/SQL ajoutent des blocs que le SQL standard n'a jamais. Formater avec le mauvais dialecte risque de reformater autour d'une syntaxe que le moteur n'accepte pas. Choisissez d'abord le dialecte — le formateur ajuste la gestion des mots-clés pour correspondre.
Les mots-clés en MAJUSCULES sont une convention héritée des dumps des systèmes centraux à cartes perforées et restent le style le plus courant dans les entreprises SQL ; le minuscules l'emporte dans les équipes plus récentes et dans les générateurs de requêtes qui colorent la syntaxe de toute façon. Les deux sont acceptables — la cohérence au sein d'une base de code prime sur toute règle externe. Le formateur bascule la casse en un clic pour que vous puissiez correspondre au fichier que vous modifiez, pas le combattre.
Non — l'analyse et le formatage s'exécutent entièrement en JavaScript dans votre page, et rien n'est téléversé. Cela compte plus qu'il n'y paraît : de vraies requêtes intègrent des noms de table, de colonnes et des valeurs WHERE qui décrivent votre activité. Les coller sur un site aléatoire est une fuite de données en attente d'un fichier journal ; ici le trajet aller-retour ne quitte jamais l'onglet.
Les virgules initiales placent la virgule au début de chaque ligne de colonne (`, col2` au lieu de `col1,`) ainsi ajouter ou supprimer une ligne ne touche jamais sa voisine — des diffs plus propres dans les relectures de code et moins d'erreurs de virgule manquante lors de la modification de longues listes SELECT. Le style à virgule finale se lit plus naturellement pour la plupart des gens. Le formateur prend en charge les deux ; choisissez ce que fait le code existant de votre équipe.
SQL standard (ANSI), MySQL, PostgreSQL et T-SQL (SQL Server). Il gère les requêtes complexes incluant JOINs, sous-requêtes, CTEs (clauses WITH), fonctions de fenêtre et UNION/INTERSECT/EXCEPT. Le formateur applique une indentation cohérente, une capitalisation des mots-clés (SELECT/FROM/WHERE) et aligne les listes de colonnes pour une meilleure lisibilité. Un mode compression minimise les espaces blancs pour les requêtes de production.
Oui. L'analyseur tokenize le SQL pour distinguer les littéraux de chaîne (guillemets simples), les commentaires de ligne (--), les commentaires de bloc (/* */) et les identifiants des mots-clés. Les commentaires et le contenu des chaînes sont préservés exactement tels quels. Cela empêche le formateur de casser des indices SQL en ligne ou de modifier des valeurs de chaîne pendant le formatage.
Standard SQL (ANSI), MySQL, PostgreSQL, and T-SQL (SQL Server). It handles complex queries including JOINs, subqueries, CTEs (WITH clauses), window functions, and UNION/INTERSECT/EXCEPT. The formatter applies consistent indentation, keyword capitalization (SELECT/FROM/WHERE), and aligns column lists for readability. A compression mode minifies whitespace for production queries.
Yes. The parser tokenizes SQL to distinguish string literals (single quotes), line comments (--), block comments (/* */), and identifiers from keywords. Comments and string contents are preserved exactly as-is. This prevents the formatter from breaking inline SQL hints or altering string values during formatting.
What do you call a really smart cookie?
No signups, no data sold. Every tool is free to use — the free tier allows 5 downloads or saves per day, and the optional Pro plan ($7/mo, $59/yr) adds unlimited downloads, batch processing, white-label exports and an ad-free experience.
☕Support me on Ko-fi— support the free tier100% of proceeds go towards hosting & building more free tools.