MySQL · Backticks · Indent
MySQL Formatter
Updated: June 2026
MySQL has its own quirks — backtick-quoted identifiers, the hash-style comment, functions like GROUP_CONCAT. This formatter understands them, so your MySQL queries come out clean and correct, not mangled.
Free · No upload · Instant in the browser
Built for MySQL syntax
A generic formatter often stumbles on MySQL because MySQL does a few things its own way. The most visible is backtick quoting: MySQL lets you wrap an identifier in backticks so you can use reserved words or spaces as table and column names. A formatter that does not know this will try to recase or break `order` and corrupt the query. This tool treats anything inside backticks as a single, untouchable identifier.
It also recognises MySQL's # line comment alongside the standard -- and /* */ forms, and it knows MySQL functions such as GROUP_CONCAT, IFNULL and CONCAT_WS so they format as function calls rather than being mistaken for clauses.
A MySQL example
select `user`.id,group_concat(t.name) as tags from `user` join user_tags ut on ut.user_id=`user`.id join tags t on t.id=ut.tag_id where `user`.active=1 group by `user`.id;
formats to:
SELECT
`user`.id,
group_concat(t.name) AS tags
FROM
`user`
JOIN user_tags ut
ON ut.user_id = `user`.id
JOIN tags t
ON t.id = ut.tag_id
WHERE
`user`.active = 1
GROUP BY
`user`.id;
The backtick-quoted `user` table stays intact, both joins line up with their conditions, and GROUP_CONCAT is correctly handled as a function.
Casing that respects MySQL
MySQL keyword matching is case-insensitive, so you are free to uppercase keywords for readability without changing behaviour. Identifier case sensitivity, on the other hand, depends on the operating system and the lower_case_table_names setting — which is exactly why this formatter never touches the case of your table or column names. It promotes only the keywords, leaving user_tags and tag_id precisely as written so the query keeps working on every platform.
Clean queries for migrations and logs
Whether you are tidying a query pulled from the MySQL slow-query log, cleaning up a statement before it goes into a migration, or making a complex report readable for review, formatting is the quickest win. Paste, format, copy. And because everything happens locally in your browser, even queries that expose your full schema never leave your machine — handy when you are working against a production database you would rather not paste into a random website.
Frequently asked questions
Does the formatter handle MySQL backticks?
Yes. Backtick-quoted identifiers like `order` and `user table` are treated as single tokens and never split or recased, so MySQL-specific naming survives formatting intact.
Does it understand MySQL comments?
Yes. Both standard -- and /* */ comments and MySQL's # line comment are recognised and preserved in the formatted output.
Is it really free with no upload?
Yes. The MySQL formatter runs entirely in your browser. Queries are never sent to a server and the tool works offline once the page has loaded.