tbls
github.com
What it is
tbls is a command-line tool for documenting databases and checking their schemas. It generates GitHub Flavored Markdown and can export schema information in formats including DOT, PlantUML, Mermaid, SVG, PNG, JPG, JSON, YAML, Excel, and configuration files. Its configurable lint rules can require column comments or set column-count limits. The `diff` command compares a database schema with generated documentation or another database, while `coverage` measures documentation for descriptions and comments. Documented data sources include PostgreSQL, MySQL, MariaDB, SQLite, BigQuery, Cloud Spanner, Amazon Redshift, SQL Server, Azure SQL, Microsoft Fabric Warehouse, DynamoDB, Snowflake, MongoDB, ClickHouse, Databricks, JSON, HTTP, and GitHub. Docker and a GitHub Action are documented for CI use, and external drivers can extend database support. It runs on Linux, macOS, and Windows, or in a self-hosted setup. The listed plan is free under the MIT License. SQL Server requires version 2017 or later and database compatibility level 110 or higher.
Spec sheet
- Purpose
- tbls is a CI-friendly tool written in Go for documenting databases.Read 1 Oct 2026 · github.com
- Integrations
- Documented datasources include PostgreSQL, MySQL, MariaDB, SQLite, BigQuery, Cloud Spanner, Amazon Redshift, Microsoft SQL Server, Azure SQL or Microsoft Fabric Warehouse, Amazon DynamoDB, Snowflake, MongoDB, ClickHouse, Databricks, JSON, HTTP, and GitHub.Read 30 Sep 2026 · github.com
- License
- The software is released under the MIT License and permits use, copying, modification, publication, distribution and sublicensing subject to its notice requirement.Read 1 Oct 2026 · github.com
- Maker
- The repository owner and copyright holder is Ken'ichiro Oyama.Read 30 Sep 2026 · github.com
- Automatic documentation
- It automatically documents databases in GitHub Flavored Markdown and outputs schemas in many formats.Read 1 Oct 2026 · github.com
- BigQuery permissions
- BigQuery use requires bigquery.datasets.get, bigquery.tables.get and bigquery.tables.list permissions.Read 1 Oct 2026 · github.com
- CI integration
- The project documents GitHub Actions integration through the k1low/setup-tbls action.Read 1 Oct 2026 · github.com
- Container integration
- An official container image is published as ghcr.io/k1low/tbls.Read 1 Oct 2026 · github.com
- Coverage
- The tbls coverage command measures documentation coverage for descriptions and comments.Read 30 Sep 2026 · github.com
- Coverage measurement
- The tbls coverage command measures documentation coverage for tables and comments.Read 1 Oct 2026 · github.com
- Database linting
- It can lint databases using configurable rules such as required column comments and column-count limits.Read 1 Oct 2026 · github.com
- Documentation
- It automatically documents databases in GitHub Flavored Markdown and outputs schemas in many formats.Read 30 Sep 2026 · github.com
- Extensibility
- Executables named tbls-driver-* can provide external database drivers, receiving TBLS_DSN and emitting schema.json on standard output.Read 30 Sep 2026 · github.com
- External drivers
- Executables named tbls-driver-* on PATH can provide additional database schemes through TBLS_DSN and schema JSON on standard output.Read 1 Oct 2026 · github.com
- Latest release
- The repository's releases page lists v1.96.1, released on 28 September 2026.Read 30 Sep 2026 · github.com
- Linting
- tbls works as a database linter with configurable rules such as required column comments and column-count limits.Read 30 Sep 2026 · github.com
- Output formats
- tbls can output Markdown, DOT, PlantUML, Mermaid, SVG, PNG, JPG, JSON, YAML, Excel, and configuration files.Read 30 Sep 2026 · github.com
- Schema comparison
- The tbls diff command compares database schemas with generated documents or other databases.Read 30 Sep 2026 · github.com
- Schema diffing
- The tbls diff command compares a database with generated documentation or another database.Read 1 Oct 2026 · github.com
- Security policy
- The repository security page states that no security policy is detected.Read 1 Oct 2026 · github.com
- SQL Server limit
- SQL Server 2017 or later with database compatibility level 110 or higher is required for schema introspection.Read 1 Oct 2026 · github.com
- Support channel
- The project provides GitHub Issues for reporting and discussing problems.Read 1 Oct 2026 · github.com
- Supported databases
- Documented data sources include PostgreSQL, MySQL, MariaDB, SQLite, BigQuery, Cloud Spanner, Redshift, SQL Server, DynamoDB, Snowflake, MongoDB, ClickHouse and Databricks.Read 1 Oct 2026 · github.com
- Transport security
- For PostgreSQL, MySQL, MariaDB and Microsoft SQL Server, the DSN supports TLS certificate configuration and hostname verification.Read 1 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Generates Markdown and numerous schema formats.
- Configurable lint rules can require column comments.
- Diff compares schemas with documents or databases.
- Coverage measures documentation for descriptions and comments.
- Documented Docker use and a GitHub Action.
Limits
- SQL Server needs version 2017 or later.
- SQL Server requires compatibility level 110 or higher.
- Repository security page reports no detected security policy.
Who it suits
tbls suits developers and teams who want database documentation, schema checks, or coverage measurements in a CI workflow. It also fits users who need a self-hosted command-line tool and one of its documented data sources.
Verdict
tbls combines schema documentation with linting, diffing, and coverage commands, with a broad list of documented data sources and output formats. Check the SQL Server requirements if that is your database; the listed plan is free.
Where Specifiction places it
- Database Documentation Tools#9 of 278.2