Azure SQL schema diff — free to use

Azure SQL Schema Diff.
Generate migrations.
Zero setup.

Paste two Azure SQL Database schema scripts. Spot every table, column, index, and constraint change instantly. Get ready-to-run ALTER TABLE scripts for Azure SQL — all in your browser.

No account required. No data leaves your device.

Built for Azure SQL workflows

SchemaLens understands Azure SQL-specific syntax that generic diff tools miss.

☁️

IDENTITY & Sequences

Correctly detects IDENTITY(1,1) columns, seed changes, and increment modifications across Azure SQL schema versions.

📦

Bracket-Quoted Identifiers

Handles bracket-quoted identifiers ([table name]) exactly like Azure SQL does, preserving spaces and reserved words.

🔑

Constraints & Indexes

Primary keys, unique constraints, foreign keys, CHECK constraints, and CLUSTERED/NONCLUSTERED indexes — all compared semantically.

📝

Named Default Constraints

Generates DF_table_column convention names for default constraints, saving you from manual lookup.

NVARCHAR & Unicode

Preserves NVARCHAR, NCHAR, and NTEXT types with length specifications so your Azure SQL migrations stay exact.

🔒

Privacy First

Your schema never leaves the browser. Compare production Azure SQL schemas safely without uploading to any third-party server.

How it works

1

Export your schemas

Use Azure Data Studio, SSMS, or sqlpackage to extract the database schema from both Azure SQL databases.

2

Paste into SchemaLens

Copy the SQL into the two editor panes. Dialect is automatically set to SQL Server (Azure SQL compatible).

3

Review the diff

See added tables, dropped columns, type changes, and constraint modifications highlighted in color.

4

Copy the migration

Export ALTER TABLE scripts, save as Markdown, PDF, or raw SQL. Run in staging, then production.

Azure SQL migration examples

SchemaLens generates production-ready ALTER TABLE scripts for every change it detects.

Column type change

ALTER TABLE [users]
  ALTER COLUMN [bio] NVARCHAR(500);

Add a new column

ALTER TABLE [orders]
  ADD [shipped_at] DATETIME;

Add a foreign key

ALTER TABLE [comments]
  ADD CONSTRAINT [fk_comments_post]
  FOREIGN KEY ([post_id]) REFERENCES [posts]([id]);

Set a default value

ALTER TABLE [tasks]
  ADD CONSTRAINT [DF_tasks_status]
  DEFAULT 'pending' FOR [status];

Related guides

Ready to diff your Azure SQL schemas?

A privacy-first schema diff tool. No account required.

Start Comparing Free

Free forever — unlimited tables. Pro power features — $39 once.