Sqlectron: a lightweight cross-database SQL client for Windows, macOS and Linux
A simple and lightweight SQL client desktop with cross database and platform support.
At a glance
- What is it?
- Sqlectron is an Electron desktop SQL client with cross-database and cross-platform support. It installs from signed installers rather than a package manager, and its documentation is thinner than its feature list suggests.
- Who is it for?
- Sqlectron suits engineers who want one small desktop client across PostgreSQL, MySQL, SQL Server, Oracle and SQLite without paying for a commercial GUI, and who are comfortable reading docs/app in the repository when the homepage does not answer a question. It is the wrong choice if you need a query planner view, a schema diff tool, or a client that ships through Homebrew, apt or winget, because the README points only at GitHub release installers.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 101 days ago.
- What is it written in?
- Mainly TypeScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Sqlectron is for, and who it is aimed at
Sqlectron is a desktop SQL client. The README describes it as "a simple and lightweight SQL client with cross database and platform support", and the repository topics list cross-database, cross-platform, electron, gui and react. The intended user is someone who connects to more than one database engine and does not want a separate GUI per engine. The README links to a supported-databases list in the sqlectron-core repository, which is where the actual driver coverage lives; the client repository itself does not enumerate engines. That split matters when you evaluate it. If your engine is not in sqlectron-core, the desktop app cannot talk to it no matter what the GUI offers. The project also ships a terminal interface in a separate repository, sqlectron-term, for people who want the same connection handling without a window. The pronunciation note in the README ("sequel-eck-tron") is the kind of detail that tells you the project has been around long enough to get asked.
How the Electron app, the core package and the drivers fit together
The architecture is a three-layer split. The desktop shell is an Electron application written in TypeScript with React, and package.json sets "main" to ./out/browser/main.js, so the built entry point lives under out/browser. The connection and query logic is not in this repository at all; it is in the sqlectron-core package, which the README links to for the list of supported databases. Drivers sit below that. The practical consequence is that a bug in how a query is executed is usually a sqlectron-core issue, while a bug in the window, the connection form or the saved-server list is a GUI issue. The repository even points its bugs field at the sqlectron-gui issue tracker rather than this one, which is a hint about where maintainers expect reports to land. The build pipeline is Electron-oriented: webpack.config.js, babel.config.js, tsconfig.build.json and a build/ directory holding packaging hooks such as afterPack.js and the macOS entitlements plist. Tests run through vitest, with a separate vitest.e2e.config.mts for end-to-end runs, and Storybook is present for UI components. That is a normal Electron project layout, not a minimal one.
Installing Sqlectron on Windows, macOS or Linux
The README does not give a package-manager command. It points to a Download link that resolves to the releases page of the sqlectron-gui repository, where installers, binaries and source are published. So the install path is: open that releases page, pick the artifact for your platform, and run it. The build configuration in package.json tells you what artifacts to expect. On macOS the target is a dmg built for both x64 and arm64, with hardenedRuntime and notarize enabled. On Windows the target is an nsis installer for x64 and ia32. On Linux the targets are deb, rpm, freebsd, pacman, tar.xz and tar.gz. The repository also carries a Dockerfile and docker-compose.yml, but they exist for producing distribution builds rather than for running the app. The Dockerfile is based on maxcnunes/electron-distribution:eb3node4-onbuild, and both files show the same packaging command:
FROM maxcnunes/electron-distribution:eb3node4-onbuild
# Keep the tmp folder inside the project.
# This way we dont lose some cache files between distribution tasks
ENV TMPDIR /usr/src/app/.tmp
CMD ["npm", "run", "--unsafe-perm", "dist:winlinux"]The comment in the Dockerfile states that packing for macOS from Linux is not possible, which is why the command is named dist:winlinux and not a general dist. Do not treat this image as a way to run Sqlectron headlessly.
A first connection and where the settings actually live
Once the app is running, the workflow is the usual one: add a server, fill in host, port, user, password and database, connect, then run SQL in the query editor. The README does not walk through those screens. What it does link is docs/app/configuration-file.md, which documents the saved-server and custom configuration file. That file is the real interface for anything you want to script or version-control, because it holds the connection definitions rather than a database. The README points at that document for the list of saved servers and custom configurations, and the fields it describes are the ones you fill in on the connection form.
Limitations the README does not paper over
The documentation is the first limitation. The README is a link hub: databases, download, configuration, app docs, terminal, contribute. It does not document rollback, migration between versions, or what happens to saved connections when the configuration schema changes, and those are the questions that bite during an upgrade. The second limitation is distribution. Because installers come from the releases page rather than a system package index, updating is a manual download, and the gap between releases is visible: v1.38.0 landed on 2022-03-31 and v1.39.0 on 2025-12-03. A user who installed the 2022 build sat on it for more than three years unless they checked. Third, the client is deliberately simple. Anyone who needs execution plans, index advisors, schema comparison or visual query builders will find Sqlectron thin, and the README makes no claim to those features. Fourth, the cross-database promise is bounded by sqlectron-core; the desktop repository cannot add an engine on its own. Finally, the Dockerfile and docker-compose.yml are packaging tools, and the comment in both files states that packing for macOS from Linux is not possible, so a container-based release pipeline covers Windows and Linux only.
Sqlectron compared with DBeaver and MySQL Workbench
DBeaver is the obvious alternative and the comparison is a real fork in the road. DBeaver is a Java application with a plugin architecture and a much larger feature surface, including ER diagrams, data transfer between connections and a broad driver catalogue that users extend themselves. Sqlectron is an Electron app whose engine support is fixed by sqlectron-core; you get fewer features and a smaller install, and you give up the ability to bolt on a driver without upstream work. MySQL Workbench is the other reference point, and it is narrower in a different direction: it targets MySQL and its forks, with administration and modelling tools built around that one engine. If you only ever touch MySQL, Workbench gives you more depth; if you touch MySQL and PostgreSQL and SQL Server, Sqlectron gives you one window instead of three. The trade is depth for uniformity, and Sqlectron takes the uniform side on purpose.
Licence, maintenance and what an upgrade costs you
Sqlectron is MIT licensed, both in the repository LICENSE file and in the package.json "license" field. MIT is permissive: you can use, modify and redistribute it, including in commercial settings, provided the copyright notice and permission notice travel with it. That is a statement about the licence text, not legal advice for your situation. On maintenance, the repository is not archived, and the last push was on 2026-06-22. The release cadence is uneven, with a long gap between v1.38.0 in March 2022 and v1.39.0 in December 2025, and an alpha line (v1.38.0-alpha.3) in between. The upgrade cost follows from the distribution model: there is no auto-update described in the README, so each version is a fresh download and install. If you keep your connections in the configuration file rather than only in the app's internal state, an upgrade is mostly a matter of reinstalling and confirming the file is still read correctly. If you keep them only in the app, you are trusting an undocumented migration path.
Where the project tells you to go next
The README's own navigation is the honest map of the project: databases in sqlectron-core, downloads in sqlectron-gui releases, configuration in docs/app/configuration-file.md, further app documentation under docs/app, a terminal client in sqlectron-term, and contribution rules in CONTRIBUTING.md. If you are evaluating Sqlectron, read the sqlectron-core supported-databases list first, because it decides whether the rest of the evaluation is worth doing. If you are contributing, the CONTRIBUTING.md plus the Husky, lint-staged, ESLint, Prettier and Vitest configuration in the repository root tell you what the project expects before a pull request is accepted. The homepage at sqlectron.github.io is a landing page pointing back at these same resources, not a separate documentation set.
Editorial conclusion
Sqlectron suits engineers who want one small desktop client across PostgreSQL, MySQL, SQL Server, Oracle and SQLite without paying for a commercial GUI, and who are comfortable reading docs/app in the repository when the homepage does not answer a question. It is the wrong choice if you need a query planner view, a schema diff tool, or a client that ships through Homebrew, apt or winget, because the README points only at GitHub release installers. Before adopting it, verify three things: that your database driver is listed in sqlectron-core's supported databases, that your platform target exists in the build config (macOS gets dmg for x64 and arm64, Windows gets nsis, Linux gets deb, rpm, freebsd, pacman, tar.xz and tar.gz), and that the configuration file format in docs/app/configuration-file.md covers the connection fields you need. The last push to the repository was on 2026-06-22, and the most recent release was v1.39.0 on 2025-12-03, so check the release page for your platform before assuming an installer exists for the current version.
Frequently asked questions
How do I install Sqlectron on Windows?
The README does not give a package-manager command; it links to the releases page of the sqlectron-gui repository, where installers are published. The build configuration targets an nsis installer for x64 and ia32, so download that artifact and run it.
Does Sqlectron support Oracle and SQL Server?
The README does not enumerate engines itself; it links to a supported-databases list in the sqlectron-core repository, and that list is what decides coverage. Check it before assuming your engine is available, because the desktop app cannot add a driver on its own.
Where does Sqlectron store saved server connections?
The README points to docs/app/configuration-file.md, which documents the saved servers and custom configuration. That document is the reference for the connection fields the app reads and writes.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/sqlectron-sqlectron)