dbgate is a free, open source databases project written in JavaScript and released under GPL-3.0. It has 7,314 GitHub stars, 474 forks and 461 open issues, and was last pushed 16 hours ago. On this registry it ranks #100 of 143 tracked projects in Databases, with 5 head-to-head comparisons available.

What is dbgate?

DbGate is a cross-platform, GPL-3.0 licensed database manager for MySQL, PostgreSQL, SQL Server, MongoDB, SQLite and a dozen further engines, built for developers and data engineers who work with several databases at once and want one client on Windows, Linux, macOS or in a browser.

What it is

DbGate is a JavaScript database client and GUI published as a desktop application for Windows, Linux and macOS, as an npm package (dbgate-serve), and as a Docker image (dbgate/dbgate) that serves the same interface to a browser. It lives in the Node.js and Electron ecosystem, and its documented entry points include a desktop download, a web deployment, a hosted demo and a Node.js scripting interface with published API documentation.

The concrete problem it solves is switching between engines: it is explicitly designed to stay simple and effective when working with many databases simultaneously. Instead of juggling a separate client per engine, one interface covers MySQL, PostgreSQL, SQL Server, Oracle, MongoDB, Redis, SQLite, MariaDB, CockroachDB, ClickHouse, Apache Cassandra, DuckDB and Firebird, with Amazon Redshift, CosmosDB, libSQL/Turso and Firestore available under DbGate Premium.

Key capabilities

  • Browse table data with Excel-like filters and multi-value filters, and edit table data with a SQL change script preview.
  • Edit table schema, indexes, primary and foreign keys, compare and synchronize database structure, and generate an ER diagram.
  • Build queries visually in the query designer without writing SQL, including complex conditions such as WHERE NOT EXISTS, plus query perspectives as a nested table view over relational data.
  • Work in a SQL editor with code formatter, code completion, script execution and a LEFT/INNER/RIGHT join utility, alongside a Mongo JavaScript editor and a Redis tree view that generates scripts from keys.
  • Import and export CSV, Excel, JSON, NDJSON, XML and DBF, and back up data into NDJSON archives on the local filesystem or on the DbGate server when running as a web application.
  • Chart data and export charts to an HTML page, display GEO data on a map with HTML export, and use the AI powered database chat.
  • Extend the client through an extensible plugin architecture, with master/detail views, foreign key lookups and form and JSON views for wide tables and MongoDB collections.

Who uses it and how

  • Individual developers install the desktop build for Windows, Linux or macOS from dbgate.io, or the separate DbGate Community download.
  • Teams that prefer a central install run the web version from Docker and connect through a browser, with the container documented on Docker Hub.
  • Automation-minded users script against the Node.js scripting interface and its API documentation instead of driving the GUI.
  • Anyone evaluating it first can open the online demo at demo.dbgate.org without installing anything.
  • Analysts and data engineers move data in and out with the batch import and export formats (CSV, Excel, JSON, NDJSON, XML, DBF) rather than writing one-off scripts per engine.

Getting started

Download the desktop application for Windows, Linux or Mac from dbgate.io, or run the web version from the npm package dbgate-serve or the Docker image dbgate/dbgate. An online demo is available at demo.dbgate.org.

How it compares

The facts do not name any comparable tool, so DbGate stands alone in this registry against which a contrast could be drawn. The only cost boundary the facts describe is internal: the core client is GPL-3.0 and free for any purpose, while Amazon Redshift, CosmosDB, libSQL/Turso and Firestore support sit behind a paid DbGate Premium licence.

When to use it — and when not to

Self-hosting the web version means operating the Docker container or the npm service yourself, and NDJSON archive backups stored on the DbGate server require storage the operator provides and maintains. Projects that cannot accept a GPL-3.0 dependency, or that want a fully managed hosted service with a support contract, should look elsewhere. The facts also show a large open backlog of 461 open issues, and four of the seventeen engine integrations require a paid Premium licence, so the free tier is not uniform across databases.

project readme (upstream, from github) — read inline

NPM version GitHub All Releases dbgate dbgate styled with prettier

DbGate - (no)SQL database client

DbGate is cross-platform database manager. It's designed to be simple to use and effective, when working with more databases simultaneously. But there are also many advanced features like schema compare, visual query designer, chart visualisation or batch export and import.

DbGate is licensed under GPL-3.0 license and is free to use for any purpose.

Supported databases

  • MySQL
  • PostgreSQL
  • SQL Server
  • Oracle
  • MongoDB
  • Redis
  • SQLite
  • Amazon Redshift (Premium)
  • CockroachDB
  • MariaDB
  • CosmosDB (Premium)
  • ClickHouse
  • Apache Cassandra
  • libSQL/Turso (Premium)
  • DuckDB
  • Firebird
  • Firestore (Premium)

Features

  • Browse table data with many filtering options, Excel-like filters, multi-value filters
  • Table data editing, with SQL change script preview
  • Edit table schema, indexes, primary and foreign keys
  • Compare and synchronize database structure
  • ER diagram
  • Light and dark theme, next themes available from DbGate Cloud
  • Huge support for work with related data - master/detail views, foreign key lookups, expanding columns from related tables in flat data view
  • Query designer - visual SQL query builder without writing SQL code. Complex conditions like WHERE NOT EXISTS.
  • Query perspectives – innovative nested table view over complex relational data, something like query designer on MongoDB databases
  • Form view for comfortable work with tables with many columns
  • JSON view on MongoDB collections
  • Explore tables, views, procedures, functions, MongoDB collections
  • SQL editor
    • execute SQL script
    • SQL code formatter
    • SQL code completion
    • Add SQL LEFT/INNER/RIGHT join utility
  • Mongo JavaScript editor, execute Mongo script (with NodeJs syntax)
  • Redis tree view, generate script from keys, run Redis script
  • Runs as application for Windows, Linux and Mac. Or in Docker container on server and in web Browser on client.
  • Import, export from/to CSV, Excel, JSON, NDJSON, XML, DBF
  • Archives - backup your data in NDJSON files on local filesystem (or on DbGate server, when using web application)
  • NDJSON data viewer and editor - browse NDJSON data, edit data and structure directly on NDJSON files. Works also for big NDSON files
  • Charts, export chart to HTML page
  • AI powered database chat
  • Show GEO data on map, export map to HTML page
  • For detailed info, how to run DbGate in docker container, visit docker hub
  • Extensible plugin architecture

How to contribute

Any contributions are welcome. If you want to contribute without coding, consider following:

  • Tell your friends about DbGate or share on social networks - when more people will use DbGate, it will grow to be better
  • Purchase a DbGate Premium license
  • Create issue, if you find problem in app, or you have idea to new feature. If issue already exists, you could leave comment on it, to prioritise most wanted issues
  • Create some tutorial video on youtube
  • Become a backer on GitHub sponsors or Open collective
  • Add a SQL script to Public Knowledge Base
  • Where a small coding is acceptable for you, you could create plugin
  • Create a new custom theme and share it on DbGate Cloud

Thank you!

Why is DbGate different

There are many database managers now, so why DbGate?

  • Works everywhere - Windows, Linux, Mac, Web browser (+mobile web is planned), without compromises in features
  • Based on standalone NPM packages, scripts can be run without DbGate (example - CSV export )
  • Many data browsing functions based using foreign keys - master/detail, expand columns, expandable form view

Design goals

  • Application simplicity - DbGate takes the best and only the best from old DbGate, DatAdmin, DbMouse and SQL Database Studio
  • Minimal dependencies
    • Frontend - Svelte
    • Backend - NodeJs, ExpressJs, database connection drivers
    • JavaScript + TypeScript
    • App - electron
  • Platform independent - runs as web application in single docker container on server, or as application using Electron platform on Linux, Windows and Mac

How to run development environment

Simple variant - runs WEB application:

yarn
yarn start

If you want more control, run WEB application:

yarn # install NPM packages

And than run following 3 commands concurrently in 3 terminals:

yarn start:api # run API on port 3000
yarn start:web # run web on port 5001
yarn lib # watch typescript libraries and plugins modifications

This runs API on port 3000 and web application on port 5001
Open http://localhost:5001 in your browser

If you want to run electron app:

yarn # install NPM packages
cd app
yarn # install NPM packages for electron

And than run following 3 commands concurrently in 3 terminals:

yarn start:web # run web on port 5001 (only static JS and HTML files)
yarn lib # watch typescript libraries and plugins modifications
yarn start:app # run electron app

How to run built electron app locally

This mode is very similar to production run of electron app. Electron doesn't use localhost:5001.

cd app
yarn
yarn
yarn build:app:local
yarn start:app:local

Running tests

Unit tests (e.g. in dbgate-tools):

yarn workspace dbgate-tools test

Integration tests (requires Docker):

cd integration-tests
yarn test:local                                        # run all tests
yarn test:local:path __tests__/alter-database.spec.js  # run a single test file

E2E tests (Cypress):

yarn cy:open

How to create plugin

Creating plugin is described in documentation

But it is very simple:

npm install -g yo # install yeoman
npm install -g generator-dbga

readme truncated — read the full docs on github

Frequently asked questions

Is dbgate free to use?

dbgate is open source under the GPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does dbgate do?

Database manager for MySQL, PostgreSQL, SQL Server, MongoDB, SQLite and others. Runs under Windows, Linux, Mac or as web application

What is dbgate written in?

dbgate is primarily written in JavaScript. Its source is publicly available at https://github.com/dbgate/dbgate, and it has 7,314 GitHub stars.