DEV.co
Open-Source Databases · schemaspy

schemaspy

SchemaSpy is a standalone Java tool that automatically generates interactive HTML documentation and entity-relationship diagrams from live database schemas. It supports 12+ databases out-of-the-box via JDBC and helps teams visualize and understand data models without manual diagram creation.

Source: GitHub — github.com/schemaspy/schemaspy
3.7k
GitHub stars
357
Forks
HTML
Primary language
LGPL-3.0
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryschemaspy/schemaspy
Ownerschemaspy
Primary languageHTML
LicenseLGPL-3.0 — OSI-approved
Stars3.7k
Forks357
Open issues302
Latest releasev7.0.2 (2025-09-20)
Last updated2026-03-05
Sourcehttps://github.com/schemaspy/schemaspy

What schemaspy is

Java-based metadata analyzer that connects via JDBC drivers to extract schema information and produce static HTML reports with ER diagrams, statistics, and anomaly detection. Distributes as a fat JAR or Docker container; requires only read access to database metadata.

Quickstart

Get the schemaspy source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/schemaspy/schemaspy.gitcd schemaspy# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Automated CI/CD-integrated database documentation

Generate fresh ER diagrams and schema reports on every deployment or scheduled basis to keep documentation in sync with actual database structure without manual effort.

Knowledge transfer and onboarding

Quickly produce shareable HTML reports that let new team members and third-party auditors understand database structure and relationships without exposing actual data.

Data model analysis and quality audit

Detect schema anomalies such as missing indexes, implied relationships, orphan tables, and other design anti-patterns to improve data architecture.

Implementation considerations

  • Requires Java runtime and JDBC driver for your target database; ensure driver compatibility and version alignment.
  • Read-only database access sufficient; no write permissions needed, reducing security surface for credential exposure.
  • Output directory and JDBC driver paths must be configured; test with non-production replica first to validate connectivity and output quality.
  • HTML output is static; refresh cycle depends on whether you run SchemaSpy manually or integrate into build/deployment pipeline.
  • Support for 12+ databases out-of-the-box, but custom JDBC drivers can be plugged in if your database is not listed.

When to avoid it — and what to weigh

  • Real-time interactive schema editing required — SchemaSpy generates static HTML reports only; it does not provide interactive schema design or modification capabilities.
  • Graphical user interface (GUI) essential for your workflow — SchemaSpy is a command-line standalone application without a GUI; output is HTML-based reports only.
  • Need to include actual database content in reports — SchemaSpy reads only metadata and structure, not data rows; unsuitable if you need to document sample data or data values.
  • Strict requirement to run on non-JVM platforms — SchemaSpy requires Java runtime; Docker deployment available but still JVM-dependent.

License & commercial use

Licensed under LGPL-3.0 (GNU Lesser General Public License v3.0). LGPL is a copyleft license requiring that modifications to the library itself be released under the same license, but allows linking in proprietary applications without forcing disclosure of your entire application.

Commercial use is permitted under LGPL-3.0 provided you comply with copyleft obligations: if you modify SchemaSpy itself, those modifications must be released under LGPL-3.0. Using SchemaSpy unmodified in a commercial workflow does not require disclosure. Requires review of your specific use case (bundling, modifications, distribution) to confirm compliance.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationStrong
License clarityClear
Deployment complexityLow
DEV.co fitGood
Assessment confidenceHigh
Security considerations

Operates with read-only database access, reducing exposure if credentials are compromised. HTML output contains schema structure but not data rows, suitable for sharing with external parties. No built-in authentication or encryption; secure credential handling depends on deployment context (environment variables, secrets management). JDBC driver versions should be kept current. Review LGPL compliance if bundling or modifying for distribution.

Alternatives to consider

Dataedo

Commercial SaaS with GUI, collaboration features, and hosted reports; better for teams needing interactive editing and real-time sharing but higher cost.

DbSchema

Desktop/web tool with schema design, reverse engineering, and visual editing; more feature-rich for data modeling but proprietary license and steeper learning curve.

pgAdmin (PostgreSQL) or native tools

Database-specific admin consoles offer metadata browsing and basic documentation; free but less polished output and limited cross-database support.

Software development agency

Build on schemaspy with DEV.co software developers

Download the latest SchemaSpy JAR or Docker image and generate your first schema report in minutes. Perfect for on-demand documentation, audits, and knowledge transfer.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

schemaspy FAQ

Does SchemaSpy require write access to the database?
No. SchemaSpy reads schema metadata only and operates safely with read-only credentials, making it suitable for auditing and documentation without risk of accidental data changes.
Can I use SchemaSpy in a CI/CD pipeline?
Yes. The CLI-driven design and Docker image make it ideal for automated report generation. Integrate into your build step to regenerate documentation on every deployment.
What databases does SchemaSpy support?
12+ databases out-of-the-box (PostgreSQL, MySQL, Oracle, SQL Server, SQLite, etc.). Any database with a JDBC driver can be configured; use `-dbhelp` to list built-in types.
Is the generated HTML report interactive or static?
Static HTML with JavaScript-based interactivity (navigation, filtering, ER diagram traversal). No server backend required; reports are self-contained and can be served on any web host or shared as files.

Custom software development services

Adopting schemaspy is usually one piece of a larger software development effort. As a software development agency, DEV.co provides software development services and web development expertise — pairing senior software developers and web developers with your team to design, build, and operate open-source databases software in production.

Ready to automate your database documentation?

Download the latest SchemaSpy JAR or Docker image and generate your first schema report in minutes. Perfect for on-demand documentation, audits, and knowledge transfer.