MariaDB, MySQL, MSSQL and PostgreSQL made easy!

HeidiSQL

HeidiSQL

  -  16.95 MB  -  Open Source
  • Latest Version

    HeidiSQL 12.18.0.7304 LATEST

  • Review by

    Daniel Leblanc

  • Operating System

    Windows 7 64 / Windows 8 64 / Windows 10 64 / Windows 11

  • User Rating

    Click to vote
  • Author / Product

    Ansgar Becker / External Link

  • Filename

    HeidiSQL_12.18.0.7304_Setup.exe

  • MD5 Checksum

    5e84b3c804081b1b601e5a2e7f6bf1ea

HeidiSQL is an open-source database management tool designed for Windows users who need an efficient way to manage MySQL, MariaDB, PostgreSQL, and Microsoft SQL Server databases.

It offers a user-friendly interface that allows developers and database administrators to browse, edit, and execute SQL scripts seamlessly.

HeidiSQL Screenshot 1

Initially developed by Ansgar Becker, HeidiSQL has grown into one of the most popular lightweight database management solutions.

Key Features

Multi-Database Support: It works with MySQL, MariaDB, PostgreSQL, and SQL Server, making it a versatile choice for database management.

Query Editor: A powerful SQL editor with syntax highlighting, auto-completion, and query history.

Data Import/Export: Supports importing and exporting databases in various formats, including CSV, SQL, and XML.

Database Synchronization: Allows synchronization between local and remote databases.

User Management: Provides a graphical user interface for managing user privileges and roles.

Table and Index Management: Enables the creation, modification, and deletion of tables and indexes.

Performance Monitoring: Offers real-time insights into database performance and query execution times.

SSH Tunneling: Securely connects to remote databases using SSH tunneling.

Customizable Interface: Allows users to adjust UI settings, themes, and shortcuts for a personalized experience.

User Interface

The app features a clean and organized interface designed for efficiency. The left-side panel displays the available databases and their respective tables, while the right-side panel provides a query editor and data view.

HeidiSQL Screenshot 2

The tabbed interface ensures that users can work on multiple queries simultaneously. Syntax highlighting and query auto-completion make SQL scripting more intuitive.

Installation and Setup
  • Download the latest version from the official website or FileHorse.
  • Run the installer and follow the setup wizard.
  • Choose database drivers for MySQL, MariaDB, PostgreSQL, or SQL Server.
  • Enter connection details, including hostname, username, password, and database.
  • Test the connection and save session settings for future use.
How to Use

Connect to a Database: Open HeidiSQL and create a new session with the required database credentials.

Browse Databases: Explore database schemas, tables, and views using the left-side navigation panel.

Execute Queries: Write SQL scripts in the editor and run queries with the execution button.

HeidiSQL Screenshot 3

Manage Tables: Add, modify, or delete tables and indexes directly through the GUI.

Export and Import Data: Use the data export/import feature to migrate data between different databases.

FAQs

Is HeidiSQL free to use?
Yes, this software is completely free and open-source.

Does HeidiSQL support remote database connections?
Yes, it allows remote database access via SSH tunneling and direct TCP/IP connections.

Can I use HeidiSQL on macOS or Linux?
No, this program is designed for Windows, but it can run on macOS and Linux using Wine.

Does HeidiSQL support stored procedures?
Yes, it allows users to view, edit, and execute stored procedures.

How does HeidiSQL compare to MySQL Workbench?
HeidiSQL is lighter and faster but lacks some advanced visualization features present in MySQL Workbench.

HeidiSQL Screenshot 4

Alternatives

MySQL Workbench – A more feature-rich tool with data modeling and visualization capabilities.

DBeaver – A multi-platform alternative supporting numerous database systems.

Navicat – A premium database management tool with a robust feature set.

SQLyog – A Windows-based MySQL GUI with enterprise-level features.

Pricing

This tool is 100% free and open-source, making it an excellent choice for developers and database administrators who require a cost-effective solution.

System Requirements
  • OS: Windows 7, 8, 10, or 11
  • Processor: Intel or AMD 1 GHz or faster
  • RAM: 2GB minimum (4GB recommended)
  • Storage: 50MB free disk space
  • Database Support: MySQL, MariaDB, PostgreSQL, Microsoft SQL Server
PROS
  • Lightweight and fast compared to other database tools.
  • Supports multiple database types.
  • Free and open-source with active community support.
  • User-friendly interface with syntax highlighting.
  • SSH tunneling for secure remote access.
CONS
  • Only available for Windows (requires Wine for macOS/Linux).
  • Lacks advanced visualization tools found in MySQL Workbench.
  • Does not support Oracle or other proprietary databases.
  • UI design is functional but lacks modern aesthetics.
  • Limited built-in reporting features.
Conclusion

HeidiSQL is an excellent choice for developers and database administrators looking for a lightweight, efficient, and free database management tool for Windows. With multi-database support, a powerful SQL editor, and seamless data import/export capabilities, it simplifies database operations while maintaining high performance.

Why is this app published on FileHorse? (More info)
  • HeidiSQL 12.18.0.7304 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    HeidiSQL 12.18.0.7304 Screenshot 1
  • HeidiSQL 12.18.0.7304 Screenshot 2
  • HeidiSQL 12.18.0.7304 Screenshot 3
  • HeidiSQL 12.18.0.7304 Screenshot 4
  • HeidiSQL 12.18.0.7304 Screenshot 5

What's new in this version:

Features:
- (packaging) Create .rpm package through Makefile, plus let GH action run that step in release mode
- Create checkbox in advanced session setting for new ForceUnicode setting
- Create opt-out setting "ForceUnicode", for sessions which shall not force Unicode communication
- Enable connection port visible in a column of the session tree
- Display auth plugin in a new column of the user listing tree
- Support authentication plugin selection in user manager
- Grid export option for exporting the focused grid column only
- Bypass automatic foreign key lookup in data grid editing through new menu item
- Add a separate menu item "copy formatted text", using the old code for copying SynEdit-highlighted text as HTML
- Filter edit box for shortcuts in preferences
- Create CLI app for adding PE security flags to heidisql.exe
- Rename snippet per right-click on query helpers tree
- Name columns in SELECT when exporting table with invisible columns
- Support invisible indexes on MySQL 8.0+ and ignored indexes on MariaDB 10.6+
- Support assigning a default role to a user
- Support assigning roles to a user or role
- Do not require MySQL's RELOAD privilege just for opening the user manager
- When nodes are filtered, change "Check all" action to "Change all visible"
- Disable role rename, add menu item for creating a role, support role deletion
- Prevent editing contents of generated columns in data grid
- Basic support for MariaDB user roles, loaded without SQL error and shown with a different icon
- Add context menu item for deleting a single query from the history
- Reset a table's current auto_increment value in "delete + insert data" mode
- Support cancelling server login dialog
- Keep EXPLAIN output format traditional, on newer MySQL servers
- Make HTML export dark/light mode aware
- Allow setting database to in PostgreSQL connections, and show and in the pulldown selector

Enhancements:
- Disable plugin selector as long as no user was selected
- Do not copy default type and value from previous column when adding columns to a table
- Suppress dialog for saving modified SQL on app close, when tabs get auto-restored
- Remove FLUSH PRIVILEGES from the user managers FormShow handler. If a click on a non-flushed user in the tree produces an exception, that is caught and shown as a normal error message.
- 50% black grid lines, should fit on both light and dark theme
- Increase supported table size and row limit for quick filter menu showing distinct values

Fixed:
- (ui) Filter away vertical writing fonts with an @ prefix
- (ui) Size and margin of buttons on SQL help dialog
- (ui) Apply the same larger tree node height on Linux
- (ui) Remove default "add user" event from add button, turn it into a pure dropdown button
- Copy table dialog crashes when none of dbtree and listtables has Focused=True
- Prefer SHOW KEYS over SHOW INDEXES, which are synonyms, while very old servers only accept the one with KEYS
- Prevent grid queries from doing "WHERE intcol::text = 1", due to "1" being incompatible to the text value on the left
- Vulnerability CVE-2025-70873, updating SQLite libs to v3.53.1
- Complaint about invalid password length on user plugins which have no fixed password length
- SUBSTRING() on array typed VARCHARs throw "function substr(...) does not exist"
- MS SQL throws "Cannot drop database xyz, because it is currently in use" when user is about to drop the current database
- Wrong tab order after inserting new checkbox in the middle
- Space missing in CREATE TABLE code of PG table with SERIAL column
- Quick filter prompts on numbers break WHERE clause through local formatting
- Restore displayed session name in message dialog caption, was removed in commit:63028518f8b0d5869383d3bc0c42f188851797ed
- Missing bottom anchor on shortcuts tree
- Broken ci compilation for Windows
- Broken ci compilation, move -WB -WR linker options to the conditionals section of the lpi file
- Turn exception in ParseViewStructure into a log message
- Data grid filter cut with several double-dash comments on one line
- Hidden input box for line terminator in csv import dialog
- Mouse click in edited row calls save action although focus did not change
- SSH command line tweaks, patch from jarczakpawel
- Broken compilation due encoding update to utf-8: ellipsis char constant seen as string now, instead of char
- Replace hardcoded Windows directory separator with DirectorySeparator
- Explicitly set client encoding on PG connection
- MSSQL foreign key lookup to include table schema
- Wrong ENUM column type detection, due to less strict regex
- Do not start edit mode in ListTables on right mouse button click
- Staying on current table by click on "follow foreign key" when the foreign table lives in a different database
- Some crashes found in uploaded crash reports
- Enable save button after changing default role per combobox
- Support backtick quoted user roles, and some other TValueListEditor related bug fixes
- A few compiler warnings
- Pre-select nothing in BOOL grid cell editor on PostgreSQL
- Allow non existent SQLite files, only complain when its path does not exist
- Solution for #2431 breaks other stuff, reverting a part of it
- Editing table data on mysql versions without generated column support
- EAbort crash when copying text from SynEdit without a highlighter
- Missing anchors and autosize in user manager form
- Reset tree refresh marker earlier, so SetActiveDatabase triggers events and hides the table + data tab after dropping tables
- Prevent crash due to unsupported edit-database feature on MS SQL
- Clear data grid before indicating a broken or temporary table for which we get no columns from IS.COLUMNS
- Populate SSH executable combo with only a global "ssh" command, do not add .exe files on Linux and macOS
- Call to non existent inherited constructor version of TSQLBatch
- TSQLBatch using backslash for escaping single quotes on all server types. Introduce server type specific TSQLBatch.FEscape char.
- Crash in SQL export to database for zero length SQL, plus upgrade old-style string handling
- Do not delete selected SQL text from editor when trying to focus the position of erroneous SQL
- Crash after canceling query

Refactor:
- Convert remaining latin1 unit to utf-8
- Sync from master
- Revert most of what I did for #2424
- Prefer qAutoInc in SQLProvider over dedicated AutoIncName method
- Simplify some more calls to Query() with the overloaded variants
- Convert more TFeatureOrRequirement's to TQueryId

Localize:
- Update compiled .mo translation files