HeidiSQL is a free, open source databases project written in Pascal and released under GPL-2.0. It has 6,276 GitHub stars, 588 forks and 324 open issues, and was last pushed 19 hours ago. On this registry it ranks #123 of 203 tracked projects in Databases, with 5 head-to-head comparisons available.

What is HeidiSQL?

HeidiSQL is a free, GPL-2.0-licensed graphical client for managing MariaDB, MySQL, Microsoft SQL Server, PostgreSQL, SQLite, Interbase and Firebird databases, aimed at developers and database administrators who need to browse, edit and export data without working from a command line.

What it is

HeidiSQL is a desktop database client written in Delphi, with a separate lazarus branch for building on platforms other than Windows using Lazarus/FreePascal. It lives in the database tooling ecosystem as a single graphical front end over seven different database engines, so one installed client covers MariaDB and MySQL servers, Microsoft SQL databases, PostgreSQL, SQLite, Interbase and Firebird. The project is developed in the open on GitHub under GPL-2.0, with an online help page, a forum for questions and an issue tracker for bugs and feature requests.

The concrete problem it solves is routine database work that would otherwise be typed by hand. HeidiSQL lets a user browse and edit data, and create and edit tables, views, procedures, triggers and scheduled events, through a GUI rather than a console. It also exports structure and data either to an SQL file, to the clipboard, or directly to other servers, which covers the common case of moving or copying a schema between machines without writing export scripts. In place of hand-issued statements and ad-hoc dump commands, the client provides a consistent interface across all the supported engines.

Key capabilities

  • Connects to and manages MariaDB, MySQL, Microsoft SQL Server, PostgreSQL, SQLite, Interbase and Firebird from one client.
  • Browses and edits table data directly, and creates and edits tables, views, procedures, triggers and scheduled events.
  • Exports database structure and data to an SQL file, to the clipboard, or to other servers.
  • Cross-platform build support through the dedicated lazarus branch, with gtk2, linux and macos listed among the project topics.
  • Ships translations contributed through Transifex, where translators join an existing language or request a new one.
  • Bundles icon assets in a TImageCollection component supplied by Icons8 under a special permission granted for this project only.

Who uses it and how

  • Database administrators who work across mixed estates, connecting to MariaDB, MySQL, PostgreSQL, SQL Server, SQLite, Interbase and Firebird servers without installing a separate client for each. The project has 6,276 stars and 588 forks.
  • Windows users running the Delphi 12.1 build, and Linux or macOS users building from the lazarus branch.
  • Teams migrating or copying schemas, using the export-to-other-servers path instead of writing and transferring dump files by hand.
  • Translators and bug reporters: translation work happens on Transifex, and bugs or feature requests go to the GitHub issue tracker, which currently holds 324 open issues.

Getting started

Windows users download the compiled client from heidisql.com, or build it from source with Delphi 12.1, which also requires the SynEdit and VirtualTree component packages, madExcept, and compilation of the project's .rc resource files with brcc32 and cgrc. For platforms other than Windows, the lazarus branch provides the build path.

How it compares

No competing products are named in the facts provided, and no list of paid tools that HeidiSQL replaces is given, so on that basis it stands alone in this registry. Any comparison beyond the facts supplied here would be speculation.

When to use it — and when not to

HeidiSQL suits anyone who needs one lightweight client for several database engines and is comfortable with a Windows-first desktop tool. A self-hoster building from source must operate a Delphi 12.1 toolchain plus the SynEdit and VirtualTree packages, madExcept and the resource compilation steps; Lazarus and other free compilers cannot currently compile the Windows build. It is a poor fit for teams that want to contribute new features upstream, since pull requests are accepted only for bugfixes and must reference a ticket ID, and for anyone unable to supply Delphi 12.1 who also cannot use the lazarus branch. The README is orientated towards building and contributing rather than end-user installation, so new users depend on the separate website documentation.

project readme (upstream, from github) — read inline

HeidiSQL

HeidiSQL is a graphical interface for managing MariaDB or MySQL servers, Microsoft SQL databases, PostgreSQL, SQLite, Interbase or Firebird. "Heidi" lets you browse and edit data, create and edit tables, views, procedures, triggers and scheduled events. Also, you can export structure and data, either to SQL file, clipboard or to other servers. Read about features or see some screenshots.

Need help?

Look at the online help page to learn how to use HeidiSQL. The forum is meant to ask questions. The issue tracker is the place to report bugs or request new features.

Building

For compiling on platforms other than Windows, look at the lazarus branch.

Delphi 12.1 is required for building HeidiSQL for Windows. Older Delphi versions will most likely fail; newer Delphi versions may work or fail. Unfortunately, Lazarus or one of the other free compilers cannot currently compile HeidiSQL.

Once Delphi is installed, you need to load the SynEdit project from the components folder. Build both run-time and design-time packages. Install the design-time package. Do the same for the VirtualTree component project.

Second you need install madExcept.

Third compile *.rc files:

folder file command
HeidiSQL/source/vcl-styles-utils AwesomeFont.RC brcc32 AwesomeFont.RC
HeidiSQL/res icon.rc cgrc icon.rc
HeidiSQL/res icon-question.rc brcc32 icon-question.rc
HeidiSQL/res version.rc brcc32 version.rc
HeidiSQL/res manifest.rc manifest.rc
HeidiSQL/res styles.rc brcc32 styles.rc
HeidiSQL/res updater.rc brcc32 updater.rc

if updater.rc and updater.exe are not exists. you can copy them from updater64.rc and updater64.exe.

Afterwards, load the HeidiSQL project from the packages folder.

Translation

If you'd like to contribute by translating HeidiSQL into your mother tongue, you need to register at Transifex, and join an existing language or request a new one.

Contributing to HeidiSQL

  • Pull requests will only be accepted for bugfixes. No new features please.
  • Please mention a ticket id in your pull request. If there is no ticket for that particular bug yet, go and create an issue request first, and fill out all fields of the issue template.
  • To become a developer member, ask Ansgar via email (see https://www.heidisql.com/imprint.php for email address)

Icons8 copyright

Icons added in January 2019 into a TImageCollection component are copyright by Icons8. Used with a special permission from Icons8 given to Ansgar for this project only. Do not copy them for anything else other than building HeidiSQL.

Embarcadero logo.

Frequently asked questions

Is HeidiSQL free to use?

HeidiSQL is open source under the GPL-2.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 HeidiSQL do?

A lightweight client for managing MariaDB, MySQL, SQL Server, PostgreSQL, SQLite, Interbase and Firebird, written in Delphi and Lazarus/FreePascal

What is HeidiSQL written in?

HeidiSQL is primarily written in Pascal. Its source is publicly available at https://github.com/HeidiSQL/HeidiSQL, and it has 6,276 GitHub stars.