- Home
- Database Documentation Tools
- SchemaSpy
SchemaSpy
What it is
SchemaSpy is a free command-line application that reads database metadata and produces shareable HTML documentation. It generates entity-relationship diagrams from an existing database, gathers structural statistics, and identifies design anomalies such as missing indexes, implied relationships, and orphan tables. The project says it supports over a dozen databases out of the box and can work with others through JDBC drivers. Reports can display statistics or export them to Excel or CSV. Documentation generation can run in a CI/CD workflow, and SchemaSpy can use an empty database replica because it reads structural information. There is no graphical interface; distribution is through a JAR file or Docker image. Installation requires Java, a database JDBC driver, and viz.js or Graphviz for relationship diagrams. The JAR excludes JDBC drivers, while the Docker image includes drivers for MySQL, MariaDB, PostgreSQL, and jTDS for MSSQL. Licenses listed are LGPL-3.0 and GPL-3.0.
For and against
For
- Free open-source database documentation
- Entity-relationship diagrams
- Statistics export to Excel or CSV
- CI/CD documentation workflow
- Shareable HTML output
Against
- No graphical interface
- JAR distribution excludes JDBC drivers
- Java and rendering tools required
The verdict
SchemaSpy combines database metadata analysis, diagrams, statistics, and anomaly reporting in a shareable documentation workflow. Its command-line setup and dependency requirements matter for teams choosing how to deploy it.
Who it suits
It suits database teams that need diagrams, data dictionaries, anomaly checks, or generated documentation. It is also useful for teams maintaining documentation through CI/CD.
Plans and prices
SchemaSpy
Open-source database documentation tool
Read 7 Oct 2026 · github.com
On the record
- Anomaly checks
- It can report database design anomalies such as missing indexes, implied relationships, and orphan tables.github.com · read 7 Oct 2026
- Continuous use
- The project describes generating documentation as part of a CI/CD workflow to keep it up to date.github.com · read 7 Oct 2026
- Data access
- SchemaSpy reads structural information and the project says it can run against an empty database replica.github.com · read 7 Oct 2026
- Database coverage
- The project says SchemaSpy supports over a dozen databases out of the box and can work with other databases that have a JDBC driver.github.com · read 7 Oct 2026
- Deployment
- SchemaSpy is a standalone command-line application without a GUI and is distributed as a JAR file or Docker image.github.com · read 7 Oct 2026
- Diagrams
- It generates entity-relationship diagrams from an existing database.schemaspy.org · read 7 Oct 2026
- Driver limits
- The JAR distribution does not include JDBC drivers; the Docker image includes drivers for MySQL, MariaDB, PostgreSQL, and jTDS for MSSQL.schemaspy.readthedocs.io · read 7 Oct 2026
- Generated output
- SchemaSpy generates HTML documentation that can be shared with a team or community.schemaspy.org · read 7 Oct 2026
- License
- The GitHub repository lists LGPL-3.0 and GPL-3.0 licenses.github.com · read 7 Oct 2026
- Project history
- The official site says the project continues work begun by John Currier in 2004.schemaspy.org · read 7 Oct 2026
- Purpose
- SchemaSpy analyzes database metadata and creates HTML reports to help people visualize, navigate, and understand data models.github.com · read 7 Oct 2026
- Requirements
- The documented installation prerequisites include Java, a JDBC driver for the database engine, and viz.js or Graphviz for rendering relationship diagrams.schemaspy.readthedocs.io · read 7 Oct 2026
- Statistics
- It can collect database structure statistics and display them in reports or export them to Excel or CSV.github.com · read 7 Oct 2026
- Support
- The project directs users who need help or find a bug to open an issue on GitHub.schemaspy.org · read 7 Oct 2026