Lay out a tangled query with clean line breaks, indenting and keyword case across eight SQL dialects. The formatting runs in your browser and nothing is uploaded.
Your files are processed in your browser, on your own device. Nothing is uploaded to a server.
A SQL Formatter takes a tangled query and lays it out with clean line breaks, indenting and keyword case, so you can read it, review it and share it. Pick from eight dialects, set the keyword case, and the formatted SQL appears on the same screen. It is free, runs in your browser, and nothing you paste is uploaded.
Paste a query in whatever state it arrived in: one long line from a log file, a nested block copied out of application code, or a wall of lowercase keywords. Pick the dialect that matches your database, set the keyword case, and the query is laid out again with line breaks and indenting that follow its structure.
The dialect choice is more than a label. A # character starts a comment in MySQL and means something else in PostgreSQL, and a backslash inside a string is an escape in MySQL but a plain character in PostgreSQL and SQLite. Formatting with the wrong dialect can lay a query out in a way that misleads the reader, so the picker sits at the top for a reason. Placeholders such as ? and $1 are left exactly where you put them, because pasted production queries carry them all the time.
Most SQL worth formatting was never typed by a person. Queries generated by an ORM, pulled from a slow query log, or copied out of an error message arrive as one dense line with the joins buried in the middle. Ten seconds of formatting turns that line into a shape you can scan, and the filter you were hunting for stops hiding.
Code review is the second home of this tool. A teammate drops a query into a pull request or a ticket, and everyone on the thread has to judge it fast. Formatted, the joins line up, the conditions group themselves, and the missing filter or the wrong join shows itself in a way a single line never allows.
Documentation and support threads ask for the same thing. A query pasted into a wiki page, a runbook or a message to a database admin gets read by people who did not write it. A query nobody can read is a query nobody can review, and formatting is the cheapest review aid there is.
This tool formats. It does not run your query, and it cannot check it against a real database. Table names, column names and permissions live in your database, not on this page, so a neatly formatted query can still be plain wrong.
Some vendor specific syntax may not parse. When that happens you get an error rather than a quietly wrong layout, and the usual cause is a dialect mismatch, so check the picker first. Formatting changes layout only. It does not fix logic, speed up a slow query, or rewrite anything you pasted.
The library that does the formatting loads on demand when you open the page, which keeps the page itself light. On a slow connection the first format can pause briefly while that library arrives. After that, formatting is as fast as you can paste.
The formatting runs on your device. Your queries are not sent to a server, not logged and not stored by ToolPeko. There is no daily allowance, no account and no sign-up prompt waiting at the end. Paste one query or fifty, and the only copy of each one is the one in your tab.
No. There is no daily allowance and no account. Format as many queries as you need, whenever you need them.
Eight: Standard SQL, MySQL, PostgreSQL, SQLite, MariaDB, BigQuery, Transact-SQL and PL/SQL. Pick the one that matches the database the query will run on.
No. It lays the query out so you can read it. It cannot run the query or compare it against your tables, and some vendor specific syntax may fail to parse, in which case you get an error message.
Upper turns keywords into capitals, lower turns them small, and preserve keeps the case you typed. It applies to the SQL keywords. Names of tables and columns keep the case they arrived with.
No. Only the line breaks, indenting and keyword case change. The meaning of the query stays where it was, and placeholders such as ? and $1 stay in place.
No upload happens. The formatter runs in your browser, and closing the tab takes your queries with it.
Same rules as this one: free, in your browser, with nothing uploaded.
Paste messy JSON, get it neat and valid.
Check JSON and find the exact line that breaks it.
Squeeze JSON down to one tight line.
Open JSON as a tree you can fold and explore.
JSON rows turned into a CSV a spreadsheet can open.
A CSV file turned into clean JSON objects.
JSON rewritten as YAML for config files.
YAML config turned into JSON you can use in code.