Formateador y embellecedor de SQL

Pega una consulta o una migración completa y obtén SQL legible, con una cláusula por línea, joins alineados y mayúsculas coherentes, siguiendo la gramática de tu base de datos.

Actualizado el
 
SQL formateado
 

Tus datos nunca salen de tu ordenador. Todo se procesa localmente en tu navegador.

Cómo usar: Formateador SQL

  1. Pega una o más sentencias SQL en SQL de entrada (o abre un archivo .sql).
  2. Selecciona tu dialecto. Esto importa para cosas como los identificadores con comillas invertidas en MySQL, los casts :: en PostgreSQL o TOP en SQL Server.
  3. Elige las mayúsculas de las palabras clave y la indentación. La consulta formateada se actualiza mientras escribes.
  4. Copia el resultado o descárgalo como query.sql.

¿Qué hace un formateador de SQL?

SQL no depende de los espacios en blanco, así que las consultas generadas por ORMs, registradas por una base de datos o escritas con prisa suelen acabar en una sola línea enorme. Un formateador de SQL analiza la sentencia y la vuelve a imprimir con cada cláusula principal —SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY— en una nueva línea, con las listas de columnas indentadas debajo y las subconsultas anidadas un nivel más adentro. Así es mucho más fácil detectar una condición de join que falta, un OR mal colocado o una columna que olvidaste agrupar.

Ejemplo

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

se convierte en

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 qué importa el ajuste de dialecto

Cada base de datos extiende SQL de forma distinta. Elegir el dialecto correcto permite que el formateador reconozca las palabras clave y la sintaxis propias de cada proveedor, en lugar de tratarlas como errores:

DialectoEjemplos que entiende
MySQL / MariaDBIdentificadores con `comillas invertidas`, LIMIT 10, 20, ON DUPLICATE KEY UPDATE
PostgreSQLCasts ::, parámetros $1, RETURNING, cuerpos de función con dollar-quoting
SQL Server (T-SQL)Nombres entre [corchetes], TOP (10), @variables, lotes con GO
BigQueryTipos STRUCT/ARRAY, rutas project.dataset.table entre comillas invertidas, QUALIFY
Oracle PL/SQLVariables :bind, CONNECT BY, cadenas q'[…]'

Si una consulta falla con un error de análisis, la causa más común es un dialecto distinto al que usas. Prueba con la base de datos que realmente ejecutas. El formateador está basado en la biblioteca de código abierto sql-formatter y se ejecuta por completo en tu navegador, así que las consultas de producción con datos de clientes nunca salen de tu equipo.

Palabras clave: ¿mayúsculas o minúsculas?

Las palabras clave en MAYÚSCULAS son la convención tradicional y hacen que la estructura de la consulta destaque frente a los nombres de tablas y columnas. Muchos equipos modernos prefieren minúsculas porque son más cómodas de escribir y leer. Elige una opción y mantenla de forma coherente; linters como SQLFluff pueden imponerla en CI. La opción Funciones controla por separado las funciones integradas, como count() o coalesce().

¿Quieres comparar dos versiones de una consulta? Pégalas en el Comparador de diferencias. ¿Exportaste resultados en JSON? Conviértelos en una hoja de cálculo con JSON a CSV.

También se busca como: embellecedor sql, formatear sql, sql pretty print, formateador de consultas sql, formateador mysql, formateador postgresql, formateador t-sql, indentar sql.

Herramientas que combinan con: Formateador SQL

  • Formateador JSON — Pega el código JSON para formatearlo, minimizarlo o validarlo.
  • CSV a JSON — Pega CSV o TSV y obtén un array JSON de objetos.
  • Formateador de JavaScript — Desminifica y da formato a JavaScript, JSON o JSX con la sangría y el estilo de llaves que prefieras, o elimina espacios y comentarios con un minificador verificado.
  • Formateador HTML — Pega HTML minificado o desordenado y obtén HTML limpio y con sangría coherente, incluidos los bloques <style> y <script> incrustados.

Preguntas frecuentes

¿El formateador cambia lo que hace mi consulta?
No. Solo cambian los espacios en blanco y las mayúsculas o minúsculas de las palabras clave (y de las funciones, si lo eliges). Los identificadores, los literales de cadena y el orden de todo se mantienen igual.
¿Por qué obtengo un error de análisis?
El formateador tiene que entender el SQL para darle formato. Los errores suelen deberse a que el dialecto seleccionado no es el correcto o a que la sentencia usa una sintaxis que ese dialecto no soporta. Los marcadores de plantilla como {{ var }} también pueden confundirlo.
¿Puedo formatear varias sentencias a la vez?
Sí. Separa las sentencias con punto y coma. Cada una se formatea y se separa con una o dos líneas en blanco, según la opción «Entre consultas».
¿Es seguro pegar consultas de producción?
Sí. El formateo se ejecuta en tu navegador con JavaScript y no se envía nada a nuestro servidor, así que los valores de tus cláusulas WHERE permanecen privados.
¿Se admiten procedimientos almacenados y DDL?
CREATE TABLE, ALTER, INSERT, CTEs (WITH) y funciones de ventana están totalmente soportados. Los bloques procedurales (PL/pgSQL, flujo de control de T-SQL) se formatean con el mejor esfuerzo posible.
¿Puedo instalar Formateador SQL como aplicación web y utilizarla sin conexión?
Sí. Formateador SQL es una aplicación web instalable (PWA): se instala desde el navegador, no se descarga desde una tienda de aplicaciones. Haz clic en «Instalar aplicación» en la parte superior de esta página en Chrome o Edge (Windows, macOS, Linux, ChromeOS) o, en Android, utiliza «Compartir» → «Añadir a la pantalla de inicio» en iPhone y iPad, o «Archivo» → «Añadir al Dock» en Safari 17+ en un Mac. A continuación, se abrirá en su propia ventana con su propio icono y, como se ejecuta íntegramente en tu navegador, seguirá funcionando sin conexión. Firefox en el ordenador de sobremesa no permite instalar aplicaciones web. Cómo funciona la instalación.

Herramientas relacionadas