Formateador SQL
Pega SQL y se maqueta solo: las cadenas y los comentarios quedan intactos.
SQL formateado
Cómo se usa
- Pega tu SQL en la caja: se formatea mientras escribes, sin ningún botón que pulsar.
- Elige mayúsculas o minúsculas para las palabras reservadas y 2 o 4 espacios de sangría; el resultado se actualiza al instante.
- Comprueba el número de líneas y copia el resultado o descárgalo como archivo .sql.
Ejemplo
Entrada
select u.id, u.name, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.active = 1 and o.created_at >= '2026-01-01' group by u.id, u.name order by orders desc limit 10;
Formateado
SELECT u.id, u.name, count(o.id) AS orders FROM users u LEFT JOIN orders o ON o.user_id = u.id WHERE u.active = 1 AND o.created_at >= '2026-01-01' GROUP BY u.id, u.name ORDER BY orders DESC LIMIT 10;
Solo con las reglas por defecto: cada cláusula abre una línea, los elementos de las listas llevan dos espacios y AND va con sangría. count(...) es un nombre de función, así que conserva las minúsculas que escribiste; la cadena de fecha no se toca.
Reglas, límites y problemas conocidos
- Es un formateador de espacios en blanco: no analiza, valida ni ejecuta SQL. El SQL no válido también se maqueta.
- No hay selector de dialecto. Se reconocen las cadenas con comillas simples, comillas dobles, acentos graves, corchetes y $tag$, así que el entrecomillado de MySQL, PostgreSQL, SQL Server y SQLite se puede pegar tal cual.
- Solo se cambian las mayúsculas de las palabras reservadas. Los nombres de función, los nombres de tipo (count, int, varchar) y los identificadores entre comillas se imprimen exactamente como se escriben; entrecomilla los identificadores si tu base de datos distingue mayúsculas.
- Las cadenas, los números y los comentarios nunca se reescriben. Un comentario -- fuerza un salto de línea y los comentarios nunca se eliminan. No hay modo de minificar.
- El resultado se resalta sintácticamente (palabras clave, identificadores, cadenas, números y comentarios) para que la estructura se lea mejor. El resaltado es solo visual: Copiar y Descargar siempre producen el texto plano formateado.
- Los saltos de línea solo se producen en los límites de cláusulas, listas, CASE, subconsultas, ventanas y columnas DDL. Los argumentos de función y las listas IN (...) quedan en una línea; las líneas largas se ajustan dentro del panel de resultado, mientras que Copiar y Descargar conservan el texto exacto sin ajustar.
- Las cadenas se analizan con escapes '' y \'. Una cadena de SQL estándar que termina en barra invertida, como 'C:\', puede leerse como no cerrada: recibirás un aviso y tu entrada quedará intacta.
- Sin procedimientos almacenados, DELIMITER ni bloques PL/SQL; sin subida de archivos, parámetros en la URL ni historial. Todo funciona en tu navegador: no se sube ni se guarda nada.
- Por encima de 200.000 caracteres el resultado se actualiza unos 0,6 s después de que dejes de escribir; el texto nunca se trunca. La salida usa LF y no termina en salto de línea; el formateo es idempotente.
Herramientas relacionadas
Lo que suele hacer falta después, una vez legible la consulta.