ГлавнаяИнструментыФорматирование SQL

Форматирование SQL

Запрос из лога или ORM приходит одной строкой на три экрана, и понять, где кончается один JOIN и начинается WHERE, невозможно.


Токенизатор понимает строки в '…', "…" и `…`, комментарии -- и /* */, скобки, операторы. Форматирование не меняет смысл запроса, только пробелы и регистр ключевых слов. Проверено 04.09.2026.

Как пользоваться

Форматтер разбирает SQL на токены — строки, комментарии, скобки, слова — и раскладывает его по правилам: каждое ключевое слово верхнего уровня с новой строки, поля через запятую в столбик, условия AND и OR с отступом, подзапросы в скобках вложенно. Строки в кавычках и комментарии остаются как есть, ключевые слова приводятся к выбранному регистру. Работает с диалектами MySQL, PostgreSQL, SQLite, MS SQL и ClickHouse, для сложных конструкций вроде CASE и оконных функций раскладка простая, но читаемая. Обратный режим сжимает запрос в одну строку для лога или URL. Проверено 04.09.2026.

  1. Любой SQL: SELECT с джойнами и подзапросами, INSERT, UPDATE, DELETE, CREATE TABLE. Несколько запросов через точку с запятой тоже подходят.
  2. Ключевые слова — в верхний регистр, нижний или как есть; отступ — два или четыре пробела.
  3. Кнопка копирует отформатированный запрос; «Сжать» собирает его обратно в одну строку без лишних пробелов и комментариев.
  4. Форматтер не выполняет запрос и не проверяет его: незакрытые кавычки и скобки он покажет, но ошибки в именах полей — нет.

Частые вопросы

По каким правилам расставляются строки

С новой строки начинаются SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, OFFSET, все виды JOIN, UNION, INSERT INTO, VALUES, UPDATE, SET, DELETE FROM, WITH и RETURNING. Элементы списка SELECT после запятой переносятся на отдельные строки с отступом, условия AND и OR внутри WHERE, HAVING и ON — тоже. Открывающая скобка перед SELECT начинает вложенный уровень отступа.

Что происходит со строками и комментариями

Всё внутри одинарных и двойных кавычек и обратных апострофов сохраняется посимвольно, включая переносы. Комментарии -- до конца строки и /* */ остаются на месте при форматировании и удаляются при сжатии.

Почему регистр меняется только у ключевых слов

Имена таблиц и полей в PostgreSQL и других базах чувствительны к регистру, если взяты в кавычки, а без кавычек могут совпадать с ключевыми словами по написанию. Форматтер меняет регистр только у слов из списка зарезервированных и функций вроде COUNT, остальное оставляет как в исходнике.

Можно ли форматировать большой дамп

Да, но результат будет длинным: INSERT с тысячами VALUES разложится по строкам. Для дампов удобнее режим сжатия или форматирование по одному запросу.

Данные куда-то отправляются

Нет, запрос обрабатывается в браузере, его можно вставлять с реальными именами таблиц.

Похожие инструменты

CSV в JSON и обратно

Конвертер таблиц в обе стороны. Сам определяет разделитель, понимает кавычки и переносы внутри ячеек, показывает предпросмотр и ошибки в строках.

Открыть
ASCII-конвертер

Преобразуйте текст в десятичные, HEX, двоичные или HTML-коды UTF-8 и восстановите представление для копирования.

Открыть
Калькулятор CRC32

Рассчитайте контрольную сумму CRC32 для текста в HEX, десятичном и двоичном виде. Всё выполняется локально.

Открыть
Генератор MAC-адресов

Создайте случайные локальные MAC-адреса с заданным префиксом, разделителем и регистром. Криптографический генератор браузера.

Открыть
Генератор случайных строк

Создайте случайные строки заданной длины из букв, цифр и символов. До 500 значений, генерация через crypto.getRandomValues.

Открыть
IP-адрес в двоичный вид

Преобразуйте IPv4-адрес в двоичный формат, 32-битную строку, hexadecimal и десятичное число.

Открыть

Ещё инструменты для SEO и маркетинга

Кластеризатор запросов, генераторы sitemap и robots.txt, минус-слова, разметка Schema.org и калькуляторы — в разделе инструментов.