drawDB: A Browser-Based ERD Editor That Generates SQL Without an Account
drawDB is a free browser-based database diagram editor and SQL generator for building ERDs, exchanging SQL scripts and creating migrations without an account.
At a glance
- What is it?
- drawDB is a free, open-source database entity-relationship diagram editor that runs in the browser, exports SQL, and requires no account or installation. It can also be self-hosted via npm or Docker, with diagram sharing available through an optional backend server.
- Who is it for?
- drawDB suits teams that need a fast, visual way to prototype database schemas and export SQL without subscribing to a SaaS tool. Self-hosters should read the AGPL-3.0 license before deploying a modified version as a network service, since that license requires releasing modifications to users.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 3 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
A Database Schema Editor That Writes SQL in Your Browser
drawDB was built for a task that general-purpose diagram tools handle poorly: designing a relational database schema and producing a runnable SQL script from it. Tools like draw.io can draw boxes and arrows, but they cannot output a CREATE TABLE statement from a diagram. drawDB bridges that gap by treating the diagram as a schema definition rather than a picture, and generating SQL from the structure the user has drawn.
The app runs entirely at drawdb.app without installation or account creation. A user can open the editor, add tables, define columns and data types, draw foreign key relationships, and export a CREATE TABLE script in one session. The README describes it as a robust and user-friendly database entity relationship diagram editor right in your browser, with the ability to build diagrams with a few clicks, export and import SQL scripts, and generate migrations. No sign-in is required for any of this. The full feature set is listed on the drawdb.app website.
The Core Workflow: Tables, Relationships, and SQL Export
The editor uses a canvas-based interface built with React and @dagrejs/dagre for layout, @dbml/core for schema parsing, and Monaco Editor (the editor from VS Code) for SQL editing. These are visible in the package.json in the repository. The drag-and-drop interface uses @dnd-kit/core, and diagrams are stored locally in the browser using Dexie, a wrapper around IndexedDB.
Because Dexie stores diagrams in the browser's own IndexedDB, there is no server involved in saving a diagram during a session. The diagram exists in the local browser store. This is also the constraint: diagrams are not portable between browsers or machines unless exported. The sharing feature, which would allow a persistent URL, requires the optional backend server described separately.
The @dbml/core dependency means the app can also import DBML (Database Markup Language) notation, which is the format used by dbdiagram.io. This gives drawDB a path from DBML-formatted schemas into a visual ERD.
Running drawDB Locally with npm or Docker
For development or local testing, the README gives these steps:
git clone https://github.com/drawdb-io/drawdb
cd drawdb
npm install
npm run devThis starts a Vite development server. The production build compiles to a static file set and is served through Nginx in the Docker image. To build a production Docker image and run it:
docker build -t drawdb .
docker run -p 3000:80 drawdbThe Dockerfile uses a two-stage build: Node 20 Alpine for compilation and nginx:stable-alpine3.23 for serving. The compiled output lands in /usr/share/nginx/html and nginx listens on port 80, which the docker run command maps to port 3000 on the host. A compose.yml is also present, which runs the app in development mode using node:20-alpine with the dev server exposed on port 5173.
The Sharing Feature and the Required drawdb-server Backend
By default, drawDB runs without a backend. All diagram state is kept in the browser. To enable the sharing feature, which generates a link that other users can open, a separate backend must be deployed. The README points to the drawdb-server repository and notes that environment variables must be set according to the .env.sample file in the repository.
The .env.sample file contains one variable:
VITE_BACKEND_URL=http://backend.comThis variable must point to a running drawdb-server instance before the frontend is built. Without it, the sharing functionality is absent. The README marks sharing as optional and states that it is not needed unless sharing files is a requirement. Teams that only need the diagram editor and SQL export do not need to set up the backend at all.
drawDB vs draw.io: Purpose-Built Schema Editor vs General Diagramming Tool
The SEARCH QUESTIONS for drawDB include a question about draw.io, which reflects a common comparison. draw.io (now also known as diagrams.net) is a general-purpose diagramming tool that supports ERD shapes among many other diagram types. The central difference is output: draw.io produces a diagram image or XML export of the diagram structure, but it does not generate SQL. drawDB produces SQL that can be run against a database engine.
For a team that needs to produce a schema visualization alongside a word processor document, draw.io may be the right choice because it integrates with Google Drive and other document tools. For a team that needs to design a schema and then run it, drawDB gives a shorter path: design in the browser, export CREATE TABLE statements, paste into the database client. drawDB also supports importing SQL, so the workflow can run in reverse: import an existing schema as SQL and view it as an ERD.
The trade-off is that drawDB is database-specific. It does not support other diagram types such as flowcharts, sequence diagrams, or architecture diagrams.
AGPL-3.0 License and Maintenance Status
drawDB is licensed under AGPL-3.0. This license differs from MIT and Apache-2.0 in one important respect: if you modify drawDB and deploy it as a network service that users access over the internet, you must make the modified source code available to those users. This affects any organization that forks the repository to add internal features and then runs the result as an internal tool for employees or as a product for customers. Organizations that run drawDB unmodified are not affected by this requirement.
The last push to the drawdb-io/drawdb repository was on 2026-09-26. The repository has no formal releases in the GitHub Releases section; updates are delivered directly to the main branch. The Discord linked in the README is the project's primary support channel.
Editorial conclusion
drawDB suits teams that need a fast, visual way to prototype database schemas and export SQL without subscribing to a SaaS tool. Self-hosters should read the AGPL-3.0 license before deploying a modified version as a network service, since that license requires releasing modifications to users. Diagram sharing is not available out of the box: it requires setting up the separate drawdb-server project and setting VITE_BACKEND_URL in the environment before building.
Frequently asked questions
Is drawDB free to use?
drawDB is free to use at drawdb.app and free to self-host. The source code is available under the AGPL-3.0 license, which is a free and open-source license. Organizations that modify the code and deploy it as a network service must release their modifications under the same license.
Can I generate an ER diagram from SQL online for free?
Yes. drawDB at drawdb.app accepts SQL input and renders it as an ERD, and it requires no account. The tool also works in reverse: design a diagram visually and export it as SQL.
How do I use drawDB?
To use drawDB without installation, open drawdb.app in a browser and start adding tables to the canvas. For a self-hosted instance, clone the repository, run npm install and npm run dev for development, or use the Docker image with docker build and docker run. Diagram sharing requires the separate drawdb-server backend.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/drawdb-io-drawdb)
Community notes