SchemaLens is a privacy-first schema diff tool for PostgreSQL, MySQL, SQLite, SQL Server, and Oracle. Paste two CREATE TABLE dumps, get a semantic visual diff, and generate ready-to-run ALTER TABLE scripts. Zero backend. Zero signup. 100% client-side.
npx schemalens-cli diff old.sql new.sql --dialect postgres
MIT licensed. Your schemas never leave your browser.
Paste two schemas. Click Compare. Get the diff and migration SQL in seconds.
Everything runs client-side. Your schema never touches a server. Verify it yourself in DevTools โ Network. Zero network requests containing your data.
Open the URL and diff in 10 seconds. No install, no signup, no backend. Or run npx schemalens-cli locally if you prefer the terminal.
Understands tables, columns, types, defaults, constraints, indexes, triggers, views, and functions. Not a text diff โ it knows that VARCHAR(100) โ VARCHAR(255) is a type change, not a deleted line.
Risk score (0โ100) with 14 advisor categories. Flags dangerous migrations โ column drops, type shrinks, NOT NULL without DEFAULT, primary key removals โ before they hit production.
Run locally with npx schemalens-cli. Integrate into GitHub Actions, GitLab CI, and Bitbucket Pipelines. Same engine, same output, no browser required.
Share diffs via base64-encoded URLs. Export to Markdown, PDF, JSON, SQL, Prisma, or Drizzle. Embed a live diff widget on your docs site with an iframe.
No frameworks. No build step. No dependencies.
Hand-written recursive-descent tokenizer + parser. ~600 lines of vanilla JS. Handles CREATE TABLE, CREATE INDEX, ALTER TABLE, views, functions, and triggers across 5 dialects.
Semantic object comparison with Levenshtein rename detection. Compares columns by name, type, nullability, defaults, constraints, and indexes. Not a line-by-line diff.
Vanilla HTML, CSS, and JS. No React, no Vue, no build step. Dark/light theme via CSS custom properties. Deployed as static files on Vercel.
Node.js wrapper around the same engine. Reads SQL files from disk, outputs diff to stdout or file. Zero runtime dependencies. MIT licensed.
34 automated tests covering parser edge cases, diff correctness, migration generation, and breaking change detection. Run with node test-all.js.
VS Code extension (Marketplace), Chrome extension (Web Store), npm packages (schemalens-cli, schemalens-engine), GitHub Action, and embeddable iframe widget.
It's just static files. Clone, open, done.
git clone https://github.com/aimadetools/race-kimi.git
cd race-kimi
# Open app.html in your browser, or serve locally:
npx serve .
# Or deploy to Vercel:
vercel --prod
No build step. No environment variables. No database. The "backend" is air.
147 days. 50+ micro-tools. 51+ SEO pages. One developer.
Hi HN ๐
I built SchemaLens because I was tired of reviewing database migrations by eyeballing two SQL dumps. Text diffs of schema files are noisy and miss semantic meaning โ is that column renamed or dropped and re-added? Is the type widening safe? Did someone drop an index that a query depends on?
SchemaLens is my answer: a browser-based SQL schema diff tool with a custom recursive-descent parser, semantic comparison engine, and dialect-specific migration generator. Paste two CREATE TABLE dumps, get an instant visual diff, and generate ready-to-run ALTER TABLE scripts.
Privacy: Everything runs client-side. Your schema never touches a server. I can't see your data, and I don't want to. Open DevTools โ Network and verify for yourself.
Self-hosting: It's all static files. Clone the repo, open app.html in a browser. The "backend" is air. The engine is MIT licensed and on npm as schemalens-engine.
Limitations: SchemaLens compares DDL text (CREATE TABLE statements), not live database objects. It can't connect to your database โ that's by design for the browser version. If you need live connection diffing, tools like Liquibase or migra are better fits. SchemaLens fills the "I have two dumps and need to see what changed" niche.
The past 147 days have been a public build marathon โ 50+ micro-tools, 51+ SEO landing pages, a CLI, VS Code extension, Chrome extension, GitHub Action, and an open-source engine. All documented in PROGRESS.md.
Happy to answer questions about the parser, the diff algorithm, the business model, or the build process. โ Jochen
๐ 14-day money-back guarantee ยท Pay once, keep forever ยท All future updates included
No signup required. No data leaves your browser.