UnQTools
Developer Runs in your browser

SQL Dialect Converter

Convert SQL between MySQL, PostgreSQL, SQLite, SQL Server, and Oracle — deterministically, in your browser. Handles identifier quoting, LIMIT/TOP/ROWNUM, AUTO_INCREMENT/SERIAL/IDENTITY, string concat, date functions, and common data types. Side-by-side change notes; unconvertible constructs are flagged, never silently mistranslated.

100% Private Works Offline Instant

About SQL Dialect Converter

Convert SQL between MySQL, PostgreSQL, SQLite, SQL Server, and Oracle — deterministically, in your browser. Handles identifier quoting, LIMIT/TOP/ROWNUM, AUTO_INCREMENT/SERIAL/IDENTITY, string concat, date functions, and common data types. Side-by-side change notes; unconvertible constructs are flagged, never silently mistranslated. Everything runs locally in your browser — your data never leaves your device.

How to use

  1. Enter your input in the tool above.
  2. Adjust any options to your preference.
  3. Use the Copy or Download buttons to save the result.
  4. Everything happens locally — your data never leaves your browser.

FAQ

Is this converter deterministic and offline?

Yes. The converter is 100% client-side and deterministic — the same input + from/to dialect pair always produces the same output. There is no AI in the loop, no server call, and no telemetry. Your SQL never leaves the browser.

What gets converted between dialects?

Identifier quoting (MySQL backticks ↔ Postgres/Oracle double-quotes ↔ SQL Server square brackets ↔ SQLite double-quotes), LIMIT/OFFSET (TOP for SQL Server, ROWNUM for Oracle), AUTO_INCREMENT → SERIAL/AUTOINCREMENT/IDENTITY, string concatenation (CONCAT() ↔ ||), common date functions (NOW/CURDATE/GETDATE/SYSDATE), and a curated data-type mapping table for CREATE TABLE and CAST.

What about constructs with no clean equivalent?

Anything without a deterministic, safe translation is left in place and flagged in the change notes (severity 'manual review'). Stored procedures, vendor-specific functions, triggers, spatial types, ENUM/SET, and UNSIGNED are typical examples. The converter never silently mistranslates — it tells you exactly what to review.

Why doesn't the converter parse SQL into a full AST?

Most production converters that do AST-based translation are server-side (jOOQ, SQLines) or non-deterministic (AI tools). We chose a curated, rule-based approach that runs entirely in the browser and is auditable: each rule is a small, testable transformation with a documented mapping table you can inspect in the UI.

What extras does this converter offer versus others?

(1) Five dialects: MySQL, PostgreSQL, SQLite, SQL Server, Oracle. (2) Identifier quoting conversion. (3) LIMIT ↔ TOP ↔ ROWNUM. (4) AUTO_INCREMENT ↔ SERIAL/AUTOINCREMENT/IDENTITY. (5) String concat CONCAT ↔ ||. (6) Common date-function mapping. (7) Curated data-type mapping table (40+ types). (8) Per-conversion change log with severity (info/warning/manual). (9) Mapping reference table in UI. (10) Honesty banner with manual-review flags. (11) localStorage history (max 20). (12) Shareable URL. (13) Copy / download converted .sql. (14) Three preset conversions.

Search tools and actions

Search across all 616 tools, categories, and quick actions.