Le SQL copié depuis des logs applicatifs, la sortie de débogage d’un ORM ou le message d’un collègue tient souvent sur une seule longue ligne sans indentation. Avec plusieurs JOIN, sous-requêtes et CASE WHEN empilés, trouver la clause WHERE devient laborieux. Cet outil reformate pendant que vous collez ou tapez : chaque clause principale (SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY) passe à la ligne, les listes de colonnes sont alignées une par ligne et les sous-requêtes et expressions entre parenthèses sont indentées par niveau, pour une structure lisible d’un coup d’œil.
L’indentation peut être de 2 espaces, 4 espaces ou une tabulation selon votre style, et les mots-clés en majuscules, minuscules ou inchangés. Beaucoup d’équipes écrivent les mots-clés en majuscules (SELECT, WHERE) et les noms de tables et de colonnes en minuscules pour distinguer syntaxe et données. Si votre projet utilise un linter, choisissez des réglages conformes pour éviter des différences purement cosmétiques en revue de code. Un clic copie le résultat.
L’outil s’appuie sur la bibliothèque open source sql-formatter avec le dialecte SQL standard. Les SELECT, INSERT, UPDATE, DELETE, CTE (WITH) et fonctions de fenêtrage courants sont correctement traités. Certaines syntaxes propres à un moteur, comme des extensions MySQL, PostgreSQL ou SQL Server, peuvent ne pas être reconnues ; l’outil affiche alors une erreur plutôt qu’un résultat faux. Le formatage ne modifie que les espaces et la casse : il ne vérifie ni l’existence des tables ni la validité de la requête, et ne change jamais ce qu’elle renvoie.
Tout s’exécute dans votre navigateur et les requêtes ne sont jamais envoyées. C’est important pour des filtres contenant des données clients, des noms de tables internes ou des requêtes de production. Si une requête contient de vraies données personnelles ou des clés, remplacez-les par des valeurs d’exemple avant de la partager.