Formateador SQL

Embellece SQL desordenado en sentencias legibles y con sangría uniforme. Elige el dialecto y el uso de mayúsculas: el formato se ejecuta en tu navegador.

Entrada SQL

Pega tu SQL

SQL con formato

Resultado

¿Qué hace un formateador de SQL?

Un formateador de SQL reescribe la consulta con sangría, saltos de línea y espaciado uniformes, de modo que la estructura de los JOIN, las subconsultas y los bloques CASE se vea de un vistazo. Es la forma más rápida de convertir una sentencia de una sola línea copiada de un log, un ORM o un generador de consultas en algo que una persona pueda revisar.

El formato tiene en cuenta el dialecto, y eso importa más de lo que parece: las comillas invertidas de MySQL, los casts de PostgreSQL, los arrays de BigQuery y el TOP de Transact-SQL se analizan con reglas distintas, así que hay que indicar la base de datos antes de tocar el texto. Así los identificadores, operadores y literales se conservan tal cual mientras se reordena el espacio en blanco.

No se ejecuta nada y no se envía nada: la sentencia se analiza y se reimprime en tu navegador. El formato no cambia lo que hace la consulta — los identificadores, operadores, literales y su orden se mantienen, y el contenido de las cadenas nunca se toca. El uso de mayúsculas solo cambia si lo pides. Antes de dar por buena una consulta reformateada, pega la versión anterior y la nueva en la [herramienta de diff](/diff) para ver los cambios reales.

Cómo formatear SQL

  1. Pega tu consulta en el cuadro de entrada: sirven tanto sentencias sueltas como scripts largos.
  2. Elige el dialecto que usa tu base de datos: SQL estándar, MySQL, MariaDB, PostgreSQL, SQLite, BigQuery, Snowflake, Transact-SQL, PL/SQL o Redshift.
  3. Elige el uso de mayúsculas: upper para la guía de estilo clásica, lower si tu equipo lo prefiere, o preserve para no tocar el original.
  4. Pulsa Formatear SQL.
  5. Si el dialecto no coincide con la sintaxis, el formateador avisa con un error de análisis y la posición; cambia el desplegable y vuelve a intentarlo.
  6. Copia el resultado, descárgalo como archivo .sql o compáralo con el original en la [herramienta de diff](/diff) antes de hacer commit.

Ejemplos de formato SQL

SELECT de una línea con JOIN

select u.id,u.name from users u join orders o on o.user_id=u.id where o.total>100 order by o.total desc;
SELECT
  u.id,
  u.name
FROM
  users u
  JOIN orders o ON o.user_id = u.id
WHERE
  o.total > 100
ORDER BY
  o.total DESC;

CTE escrita en una línea

with recent as (select id,total from orders where created_at>'2026-01-01') select count(*) from recent where total>100;
WITH
  recent AS (
    SELECT
      id,
      total
    FROM
      orders
    WHERE
      created_at > '2026-01-01'
  )
SELECT
  count(*)
FROM
  recent
WHERE
  total > 100;

Subconsulta en el WHERE

select * from users where id in (select user_id from orders where total>500) and active=true;
SELECT
  *
FROM
  users
WHERE
  id IN (
    SELECT
      user_id
    FROM
      orders
    WHERE
      total > 500
  )
  AND active = TRUE;

Informe con función de ventana

select customer_id, row_number() over (partition by customer_id order by created_at desc) as rn from orders;
SELECT
  customer_id,
  row_number() OVER (
    PARTITION BY
      customer_id
    ORDER BY
      created_at DESC
  ) AS rn
FROM
  orders;

Consulta Transact-SQL

select top 10 name, created_at from dbo.users where deleted_at is null order by created_at desc;
SELECT
  TOP 10 name,
  created_at
FROM
  dbo.users
WHERE
  deleted_at IS NULL
ORDER BY
  created_at DESC;

Formateador SQL: UrsaKit frente a otras opciones

CriterioUrsaKitHacerlo por tu cuentaHerramienta típica
PreparaciónAbrir la páginaInstalar y ejecutar una CLIAbrir la página
Conocimiento del dialecto10 dialectos en una páginaUno por herramientaVariable
Los datos salen del dispositivoNo, se ejecuta en el navegadorNoA menudo se envían a un servidor
OpcionesDialecto y mayúsculasTodos los flags de la CLINormalmente solo mayúsculas
Uso de mayúsculasupper, lower o preserveConfigurableA menudo fijo
Requiere registroNoNoA veces
Preguntas frecuentes

Preguntas frecuentes

¿Qué dialectos de SQL se admiten?

Diez opciones en el desplegable: SQL estándar y también MySQL, MariaDB, PostgreSQL, SQLite, BigQuery, Snowflake, Transact-SQL, PL/SQL y Redshift. Elige el dialecto que usa tu base de datos, porque el analizador aplica sus reglas de comillas y sintaxis.

¿El formato cambia mi consulta?

No. Solo se mueven los espacios y los saltos de línea: los identificadores, operadores, literales y su orden se conservan, y el contenido de las cadenas nunca se toca, así que 'Ada' o una comilla escapada vuelven exactamente como estaban. El uso de mayúsculas cambia solo si eliges upper o lower; con preserve no se toca. Una salvedad: los marcadores de posición que el analizador no reconoce, como %s o $1 en PostgreSQL, pueden recibir un espacio extra o perderse, así que revisa el diff antes de pegar la consulta en el código.

¿Por qué aparece un error de sintaxis?

El formateador analiza la sentencia con el dialecto que hayas elegido, así que unas comillas desequilibradas o una sintaxis de otra base de datos —los identificadores [b] de MySQL bajo PostgreSQL, por ejemplo— pueden provocar un error de análisis. El mensaje indica el dialecto y la posición; cambia el desplegable e inténtalo de nuevo.

¿Se sube mi SQL?

No. El formato se ejecuta localmente con JavaScript en tu navegador.

¿Puedo mantener las palabras clave en minúscula?

Sí. Con lower se convierten todas a minúscula y con preserve se mantiene el uso original de la consulta.

¿Funciona sin conexión?

Sí. Una vez cargada la página, el formato no realiza más peticiones de red.

¿Cómo formateo SQL en VS Code, DBeaver o DataGrip?

En VS Code instala una extensión de formato SQL y usa Format Document con Shift+Alt+F en Windows y Linux, o Shift+Option+F en macOS. El editor SQL de DBeaver reformatea con Ctrl+Shift+F, y DataGrip y otros IDE de JetBrains usan Code → Reformat Code (Ctrl+Alt+L, o Cmd+Option+L en macOS). Para un servidor o una pipeline de CI, lo habitual es sqlfluff y la línea de comandos de sql-formatter.

Todas las Herramientas