Skip to content
SPECIFICTION
Get listed

tbls

github.com

Free plan WindowsmacOSLinuxSelf-hosted
Visit github.com
Spec score 8.2 #9 of 27 in Database Documentation Tools

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

Open-source software Free MIT license · single-binary CLI Read 1 Oct 2026 · github.com

Every tbls plan and price →

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

Alternatives to tblsAll alternatives →