DBML is a domain-specific language for defining and documenting database schemas in a human-readable format.
DBML addresses the problem of writing database schemas in a way that is both easy to read and independent of any particular database system. Rather than forcing developers to learn the specific syntax of SQL dialects, DBML provides a simple, flexible notation that captures the essential structure of a database: tables, columns, data types, primary keys, and relationships. The language focuses on clarity and simplicity, abstracting away database-specific details while remaining expressive enough to document the core design.
Teams should adopt DBML if they need to document database schemas in a format that is accessible to both technical and non-technical stakeholders, or if they want a database-agnostic way to define schemas before committing to a specific database system. The tool works well for projects where schema visualization and documentation are priorities. DBML integrates with free hosted tools: dbdiagram.io provides visual database diagrams, and dbdocs.io offers database documentation generation. The ecosystem includes community-maintained parsers and schema generators in multiple languages, making it possible to integrate DBML definitions into existing development workflows and generate schemas for different database systems.
The project maintains an active ecosystem page where community members can register tools that read or write DBML, and contributions are welcomed through pull requests. Development activity shows consistent engagement with schema definition features and tooling integrations across the broader DBML ecosystem.