- Category
- Developer Tools
- Rank
- No. 699Tools index
- Pricing
- Open Source
- Type
- TOOL
- Use case
- Coding
- Interfaces
- Web
- Builder
- drawdb-io
- GitHub
- 39.7k stars
- Date
About
drawDB is a browser-based database entity relationship diagram editor that lets users build ERDs, export and import SQL scripts, and generate database migrations without creating an account. It supports multiple database systems including PostgreSQL, MySQL/MariaDB, SQLite, Oracle, and SQL Server, and can be self-hosted via Docker.
What it does
drawDB turns a database design into an editable visual model of tables, fields, relationships, notes, and subject areas. It understands constraints such as primary keys, uniqueness, nullability, indexes, custom types, and enums. Work can remain in browser storage, while SQL exchange and migration generation connect the diagram to implementation.
Why it's ranked here
The strongest case is its low-friction path from schema thinking to usable output. It stores diagrams locally, includes starter templates, models substantial database detail, and requires no account for core work. Broad translation support also makes it unusually accessible. Sharing is less self-contained because it requires a separate server.
What's good
The schema model goes beyond drawing boxes. It captures checks, defaults, comments, indexes, unique constraints, inheritance, cardinality, and update or delete rules. Local IndexedDB storage gives diagrams stable identifiers and upgrades older records. Built-in undo and redo, layout, selection, collaboration, notes, areas, and custom types suggest a focused editing environment.
Tradeoffs
Sharing and version retrieval depend on a separately configured backend, so the standalone browser experience does not cover team distribution by itself. Email sending also expects a backend endpoint. The package exposes development, build, lint, and preview commands, but no test command, command-line interface, or reusable library interface is documented in the supplied repository text.
How to use it well
Use it for designing or explaining relational schemas before implementation, especially when a team benefits from a shared visual artifact and SQL handoff. Keep solo drafts in browser storage, then add the companion server only when sharing or version history matters. It does not replace database execution, deployment, or a general migration runner.
Technical notes+
package.json defines a private ES module React 18 application built with Vite, with ESLint but no test script. src/data/db.js uses Dexie for IndexedDB persistence, schema upgrades, UUID assignment, and seeded templates. src/data/schemas.js validates tables, relationships, notes, subject areas, custom types, and enums through JSON Schema definitions. src/api/gists.js implements HTTP-backed sharing, commit retrieval, version access, and comparisons through Axios. src/i18n/i18n.js configures browser language detection and a large locale resource set. src/utils/diff.js performs recursive identity-based diagram comparisons.
Observed
- Primary language
- JavaScript with React JSX and ES modules
- Packaging
- Private npm package built and served with Vite
- Install surface
- npm-based local development and production build, plus Docker build and run instructions
- Interface
- Browser application; no CLI or reusable library interface is documented
- Local persistence
- IndexedDB storage through Dexie for diagrams and templates
- Sharing architecture
- Optional separate backend accessed through HTTP endpoints
- Quality scripts
- Development, build, lint, and preview scripts are defined; no test script is defined
Read from README.md, package.json, src/data/db.js, src/api/email.js, src/api/gists.js, src/i18n/i18n.js, src/data/seeds.js, src/utils/diff.js, src/utils/rect.js, src/hooks/index.js, src/icons/index.js, src/utils/cache.js, src/utils/utils.js, src/data/schemas.js, src/data/socials.js.
What it can do
Export ERD as SQL script
ERD diagram → SQL script
Import SQL script to build ERD
SQL script → ERD diagram
Generate database migrations
ERD schema changes → Migration script
Tags
Tech Stack
Media
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.
