SQL Server to MySQL Converter Online

Convert SQL Server T-SQL scripts into MySQL-compatible SQL with local processing, inline diff, batch ZIP export, and migration warnings.

Local only • SQL text conversion • No database connection • Ctrl+Z undo • Batch ZIP export • Review warnings before production use

SQL Server input

MySQL output

Ready

How to Use

  1. Paste or upload your SQL Server .sql script or schema.
  2. Choose conversion options (charset, IDENTITY, NVARCHAR, procedures).
  3. Click Convert to MySQL or wait for auto-convert.
  4. Review warnings in the Report, Compare, and Audit tabs.
  5. Validate MySQL output, then copy, download, or batch-export ZIP.

Related tools

Frequently Asked Questions

What is a SQL Server to MySQL Converter?

It transforms SQL Server T-SQL text—schemas, queries, procedures, and dump snippets—into MySQL-compatible SQL without connecting to a database or migrating live data automatically.

Does it migrate data or only SQL?

It converts SQL text. INSERT statements in a script are rewritten syntactically, but bulk data migration from a live SQL Server database requires ETL tools or native export/import pipelines.

Does it execute SQL?

No. The tool never runs SQL against any database. Review and execute converted scripts in your own MySQL environment.

Does it connect to my database?

No. All conversion happens locally in your browser.

Is my SQL uploaded to a server?

No. Your SQL stays on your device. No telemetry or cloud processing is used for conversion.

Which SQL Server versions are supported?

Common SQL Server 2012–2022 DDL/DML syntax including bracket identifiers, IDENTITY, NVARCHAR, DATETIME2, MONEY, and GO batches. Exotic legacy syntax may need manual review.

Which MySQL versions are supported?

Output targets MySQL 5.7+ and 8.x with InnoDB and utf8mb4 defaults. Spatial and JSON features may require MySQL 8.

How are IDENTITY columns converted?

By default IDENTITY(1,1) is removed and AUTO_INCREMENT is appended to the column definition.

How are NVARCHAR columns handled?

NVARCHAR maps to VARCHAR with utf8mb4 charset when enabled. NVARCHAR(MAX) maps to LONGTEXT.

How is UNIQUEIDENTIFIER converted?

Mapped to CHAR(36) for UUID-style storage. Consider BINARY(16) for performance if you control application encoding.

How is MONEY converted?

MONEY and SMALLMONEY map to DECIMAL(19,4) and DECIMAL(10,4) respectively.

How is ROWVERSION handled?

SQL Server ROWVERSION/TIMESTAMP types map to BINARY(8). This is not the same as MySQL TIMESTAMP.

Are stored procedures fully supported?

No. Procedures receive best-effort conversion with DELIMITER blocks and parameter rewrites. Complex T-SQL control flow requires manual migration.

Are triggers fully supported?

Triggers are converted best-effort with INSERTED/DELETED mapped to NEW/OLD. Verify FOR EACH ROW semantics before production.

Can it convert SQL dump files?

Yes for reasonably sized .sql files pasted or uploaded in the browser. Very large multi-gigabyte dumps are impractical client-side.

Does it handle GO batches?

Yes. GO batch separators are used as statement boundaries during conversion, similar to SSMS batch execution.

What about dbo schema prefixes?

By default dbo. is stripped because MySQL uses database names differently. Enable preserve schema names if you need qualified identifiers.

Can it convert views?

CREATE VIEW statements are converted with generic syntax and function mapping. SCHEMABINDING is removed. Complex views may need manual edits.

Can it convert indexes?

Regular and UNIQUE indexes are converted. INCLUDE columns are removed with a warning because MySQL does not support included columns the same way.

How is TOP converted?

SELECT TOP n is rewritten to SELECT ... LIMIT n when possible.

How is OFFSET FETCH converted?

OFFSET ... ROWS FETCH NEXT ... ROWS ONLY is rewritten to LIMIT offset, count style syntax.

How is ISNULL converted?

Mapped to IFNULL(), the idiomatic MySQL equivalent.

How is GETDATE converted?

Mapped to NOW() for datetime defaults and expressions.

Does it pretty-print MySQL output?

Yes when Pretty-print output is enabled, using MySQL-aware formatting.

Can I validate converted SQL?

Yes. The Validation tab runs MySQL syntax checks. Use the SQL Validator handoff for deeper analysis.

Can I compare before and after?

Yes. Use the Compare tab for inline diff or the SQL Compare handoff for side-by-side analysis.

Can I convert multiple files at once?

Yes. Batch upload exports a ZIP with converted .sql files plus JSON/TXT reports and a manifest.

What is the maximum file size?

Small and medium scripts convert instantly. Inputs above ~300 KB use a Web Worker. Practical in-browser limits depend on device memory.

Does it work offline?

Yes after the page loads because processing is client-side.

What browsers are supported?

Modern Chromium, Firefox, Safari, and Edge with Web Worker and localStorage support.

Is this tool free?

Yes. No account or per-conversion charge.

Should I trust converted SQL in production without review?

No. Always review warnings, test on staging, validate constraints/indexes, and verify application queries before production migration.

Is MySQL to PostgreSQL conversion available?

Yes. Use the MySQL to PostgreSQL Converter for the next step after migrating to MySQL, or hand off converted output directly from this tool.