SQL Dialect Converter
Convert INSERT and CREATE TABLE statements between MySQL, PostgreSQL and SQLite.
How to use it
- Paste one or more SQL statements into the left panel — INSERT and CREATE TABLE statements, separated by semicolons.
- Pick the source dialect or leave it on Auto detect, which infers the escaping style from backslash usage and backtick quoting.
- Pick the target dialect: MySQL, PostgreSQL or SQLite.
- Read the converted SQL on the right and the notes below it. Notes name every clause that has no equivalent in the target dialect instead of silently dropping it.
- Copy or download the result, then review the notes before running it against a real database.
Common use cases
- Moving a schema to PostgreSQL — turn MySQL dumps with backtick identifiers and AUTO_INCREMENT into quoted identifiers and SERIAL columns.
- Seeding SQLite for tests — reuse an INSERT script from a MySQL or PostgreSQL export without hand-editing every quote.
- Porting table options — see exactly which ENGINE, CHARSET or COLLATE clauses disappear, because those are MySQL-only.
- Learning dialect differences — the notes area is a compact list of the clauses that actually differ between the three engines.
Why it stays private
Conversion runs entirely in your browser's memory. Database exports often contain customer rows, credentials or infrastructure details, and nothing is uploaded — the statements never leave the device.
FAQ
Q: Which statements are fully converted? A: INSERT statements (identifier quoting, string escaping, column lists and VALUES rows) and CREATE TABLE statements (identifier quoting, AUTO_INCREMENT to SERIAL / BIGSERIAL / AUTOINCREMENT, MySQL table options, LIMIT m,n to LIMIT n OFFSET m). Anything else gets a conservative pass and a note.
Q: What does Auto detect actually detect? A: The escaping convention of string literals: backslash escapes such as \n or ' are read as MySQL style, doubled single quotes as the standard style used by PostgreSQL and SQLite. Pick the source dialect manually when a file mixes conventions.
Q: Why are some clauses kept verbatim instead of converted? A: Clauses like ON DUPLICATE KEY UPDATE, ON UPDATE CURRENT_TIMESTAMP or UNSIGNED have no one-to-one equivalent in the other dialects. The converter keeps them and lists them in the notes so you can rewrite them deliberately rather than trusting a silent guess.
Your data stays on this device
SQL Dialect Converter runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.
Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.