Formateador de SQL

Formatea y embellece consultas SQL en tu navegador para PostgreSQL, MySQL, SQLite y T-SQL, con tamaño de sangría ajustable. Nunca se sube nada.

🌐 English

🔒 Privado por diseño: tu texto se procesa localmente en tu navegador; nada se sube nunca a ningún servidor.

Cómo formatear una consulta SQL

  1. Pega tu consulta SQL en el recuadro de arriba, un SELECT con varios JOIN, un INSERT, un fragmento de procedimiento almacenado, o cualquier otra cosa.
  2. Elige tu dialecto SQL (PostgreSQL, MySQL, SQLite, T-SQL, o SQL genérico si no estás seguro) y un tamaño de sangría, luego pulsa Formatear SQL.
  3. La consulta embellecida aparece al instante debajo, con nueva sangría y saltos de línea para mejorar la legibilidad. Si la consulta tiene un problema estructural genuino (como paréntesis desequilibrados), obtienes un error claro en lugar de una salida ilegible.
  4. Pulsa Copiar al portapapeles para llevarte el resultado, o pega una consulta nueva y ejecútala de nuevo.

Sin archivo que subir, sin cliente SQL de escritorio que abrir, solo pega y lee.

Por qué formatear consultas SQL

Una consulta generada por un ORM, exportada de una herramienta de base de datos, o pegada de un mensaje de Slack suele ser una única línea larga sin cortar, cada condición JOIN, cláusula WHERE y subconsulta apretados sin ninguna estructura visual. Leerla, revisarla en un pull request, o averiguar dónde termina una subconsulta y retoma la consulta externa significa forzar la vista sobre un muro de texto. Reformatearla a mano es lento y fácil de equivocar sutilmente (contar mal un paréntesis de cierre, desalinear un JOIN).

Esta herramienta toma esa misma consulta y la organiza como la escribiría a mano una persona: cada cláusula (SELECT, FROM, WHERE, JOIN, ORDER BY) en su propia línea, subconsultas anidadas con un nivel más de sangría, listas de columnas partidas una por línea, al instante, en cualquiera de los cuatro dialectos principales que realmente use tu consulta.

El dialecto importa más de lo que parece

SQL no es un solo lenguaje: PostgreSQL, MySQL, SQLite y T-SQL (SQL Server) tienen cada uno sus propias particularidades (TOP N de T-SQL en lugar de LIMIT, identificadores entre comillas invertidas en MySQL, operadores específicos de PostgreSQL) que un formateador genérico puede analizar o etiquetar mal. La opción de dialecto de esta herramienta alimenta tu elección directamente al analizador subyacente, así que la sintaxis específica del dialecto se reconoce correctamente en lugar de adivinarse. Si no estás seguro de qué dialecto usa tu consulta, el valor por defecto “SQL genérico” maneja razonablemente bien la sintaxis ANSI SQL común.

Privado, porque las consultas de producción nunca salen de tu dispositivo

Una consulta SQL suele ser una de las cosas más sensibles que un desarrollador pega en una herramienta web cualquiera, puede contener nombres reales de tablas y columnas que revelan tu esquema, o incluso valores literales (un correo, un ID de cuenta) incrustados en una cláusula WHERE durante una depuración. Muchos sitios de “formateador de SQL online gratis” en realidad proxean el contenido pegado a través de un backend de todas formas. Esta herramienta ejecuta todo el paso de formateo usando la librería de código abierto sql-formatter cargada una vez en tu propia pestaña del navegador, nada se transmite, registra ni almacena, y funciona igual sin conexión una vez cargada la página.

Usos habituales

Cómo funciona, en imágenes

Captura de pantalla de la herramienta Formateador de SQL con la entrada de ejemplo «select t.slug, t.category, count(*) as hits from…», SQL dialect en Generic SQL (default), Indent size (spaces) en 2
Formateador de SQL en pleno proceso: la entrada de ejemplo «select t.slug, t.category, count(*) as hits from…», SQL dialect en Generic SQL (default), Indent size (spaces) en 2.
Captura de pantalla del resultado de Formateador de SQL mostrando la salida generada «select t.slug, t.category, count(*) as hits from…»
El resultado final: la salida generada «select t.slug, t.category, count(*) as hits from…». El enlace de descarga es una URL blob local: el archivo nunca sale de tu dispositivo.

Preguntas frecuentes

¿Se envía mi consulta SQL a un servidor para formatearla?

No. Esta herramienta ejecuta la librería de código abierto sql-formatter enteramente dentro de tu pestaña del navegador en el instante en que pulsas Formatear SQL, no ocurre ninguna petición de red. Eso importa porque las consultas SQL pegadas para formatear son muy a menudo consultas de producción reales, a veces con nombres reales de tablas, columnas o incluso valores literales de tu propia base de datos que no querrías entregar a los registros de acceso de un servidor cualquiera.

¿Qué dialectos SQL soporta realmente?

Esta herramienta expone cinco opciones de dialecto que corresponden a los valores `language` reales y verificados de la propia librería subyacente: SQL genérico (independiente de dialecto, la opción segura por defecto si no estás seguro), PostgreSQL, MySQL, SQLite, y T-SQL (el dialecto de Microsoft SQL Server). La librería en sí soporta varios dialectos más especializados (BigQuery, Snowflake, Redshift y otros) que no se exponen aquí para mantener la lista de opciones centrada en los dialectos que más piden los desarrolladores.

¿Valida que mi SQL sea correcto, o solo reformatea los espacios en blanco?

Mayormente lo segundo, y merece la pena ser precisos sobre la diferencia. Esto es un formateador de espacios/sangría, no un validador semántico completo de SQL, detecta ESTRUCTURA genuinamente rota (paréntesis desequilibrados, un carácter inválido suelto) y muestra un error claro en lugar de producir basura en silencio, pero no detectará un nombre de columna mal escrito, una tabla que no existe, o una palabra clave duplicada que sigue siendo un disparate gramaticalmente analizable. Verificado directamente: lanza de forma fiable un error claro en `SELECT * FROM WHERE (((`, pero no se quejará de `SELECT FROM FROM FROM`, que es SQL sin sentido pero que igual encaja en la gramática libre y permisiva del analizador.

¿Qué pasa si pego algo que no es SQL válido en absoluto?

Obtienes un mensaje de error claro indicando que el formateo falló, con la línea y columna específicas donde el analizador se atascó, en lugar de una página en blanco o una salida ilegible. Consulta la respuesta anterior sobre los límites honestos de qué cuenta como "inválido" aquí, la estructura genuinamente rota se detecta; el disparate gramaticalmente analizable, no.

¿El formateo cambiará el significado de mi consulta, reordenará cláusulas, renombrará algo, o eliminará parte de la consulta?

No. El formateo solo cambia el espacio en blanco (saltos de línea y sangría) alrededor de las palabras clave, identificadores, operadores y valores literales existentes de tu consulta. Cada token con significado de tu consulta original (nombres de tabla, nombres de columna, literales de texto y número, operadores) aparece en la salida exactamente como lo escribiste, solo mejor organizado; nada se reordena, renombra ni elimina.

¿Puedo controlar cuánta sangría se usa?

Sí, la opción Tamaño de sangría controla cuántos espacios se usan por nivel de anidamiento (por ejemplo, las columnas bajo SELECT, o una subconsulta entre paréntesis), de 2 a 8 espacios. No tiene efecto si tu consulta es lo bastante corta como para no tener anidamiento real.

¿Hay un límite de tamaño, o funciona sin conexión?

Sin límite artificial, el formateo se ejecuta en la memoria de tu propio navegador en lugar de mediante una petición de red, así que una consulta larga con varios JOIN y subconsultas funciona igual que una corta, y sigue funcionando sin conexión a internet una vez cargada la página.

Herramientas relacionadas