About ERDFlow
Database design, from the first idea to the tables.
ERDFlow is a visual database design application. It helps students, learners and developers understand conceptual database modeling and relational schemas, and keeps both in one project.
A. About ERDFlow
One project, two connected views
A project can begin as a conceptual ER diagram — entities, attributes and relationships — or as a relational schema of tables, columns and keys. Both are views of the same project, so moving from one to the other does not mean starting again.
ERDFlow is a desktop application written in C++ with Qt, and is being prepared for Windows, macOS and Linux. Its core is developed in the open on GitHub.
B. Why ERDFlow exists
Making database design easier to learn and to do
Database design is hard to learn
Concepts have to become tables
Keys are where mistakes hide
Rebuilding at every stage wastes work
C. What ERDFlow can do today
Built and working in ERDFlow Core
Conceptual ER diagrams
Four ER notations
Relational schema design
Conversion between stages
Import and export
Projects that keep their work
Not available yet
Generating SQL or reading SQL in; Mermaid ER and DBML export; reordering a table’s columns; multiple pages per project; and autosave with recovery. Installers have not been produced for any platform yet.
D. The engineering journey
Challenges, and how they were approached
One project, many representations
In place today
A layered core
In place today
Two ways into a schema
In place today
Undo you can rely on
In place today
Tested and measured
In place today
Cross-platform from the start
Ongoing work
Protecting your edits
Ongoing work
E. Open source and community
ERDFlow Core is open source
ERDFlow Core, the desktop application, is public on GitHub under the MIT License. Its documentation is public too — from the architecture decisions to the record of what is implemented — and changes reach the main branch as focused pull requests checked by continuous integration.
- Inspect the source and build it with CMake, C++20 and Qt 6.
- Report a problem or suggest an improvement as a GitHub issue.
- Contribute a fix by following the development guide and opening a pull request.
- Follow the project’s progress in its documentation and pull requests.
F. Future direction
Where ERDFlow is going
ERDFlow focuses on conceptual design and relational schemas, with the conversions, imports and exports described above. Work continues on what is not built yet and on release packaging for Windows, macOS and Linux.
SQL generation and other advanced features are not part of ERDFlow today, and no release dates have been set.
Sponsorship
Support ERDFlow
Financial sponsorship
Educational partnerships
Development contributions
Technical resources
Community support
Sponsorship is not open yet
ERDFlow does not have sponsors or partners yet, and GitHub Sponsors has not been set up. A sponsorship contact will be published here once it is ready. Until then, the most direct way to help is to report problems and contribute on GitHub.
G. Get involved
Ways to take part
Download
See the platforms ERDFlow is being prepared for and when installers become available.
Report a Bug
Found something wrong? Open an issue on GitHub with the steps to reproduce it.
Contribute
Build ERDFlow, run its tests and send a focused pull request.
Sponsor
Learn how companies and individuals will be able to support ERDFlow.