phpMyAdmin is the tool that hosting companies usually preinstall for managing MySQL and it does its job. Adminer takes a different approach: a single file you upload, support for seven database systems, and forms that do not ask for more than they need. This page lists the differences which are still true today, and also the places where phpMyAdmin is the better pick.
| Feature | Adminer 6.0.0 | phpMyAdmin 6.0.0-dev | Comment |
|---|---|---|---|
| Distribution | one file, 503 kB | 4891 files, 77 MB | You upload a single PHP file and open it. phpMyAdmin is an archive which has to be extracted. |
| Database systems | MySQL, MariaDB, PostgreSQL, CockroachDB, SQLite, MS SQL, Oracle | MySQL, MariaDB | Adminer adds Elasticsearch, ClickHouse, Firebird, MongoDB, Redis, SimpleDB, IGDB and IMAP through plugins. |
| Required PHP extensions | mysqli or pdo_mysql | mysqli, sodium | Sodium is often not enabled and phpMyAdmin then refuses to start. It also insists on mysqli, while Adminer connects through pdo_mysql just as well. |
| Customization | 47 bundled plugins | configuration file and extra tables | Adminer loads plugins from the adminer-plugins/ directory. phpMyAdmin is configured in config.inc.php and some of its features need their own tables in the database. |
| Designs | one CSS file | a directory of files | An Adminer design is a single adminer.css. A phpMyAdmin theme is a directory of 285 files in the case of the default one - see their instructions. Both tools have designs contributed by their users. |
Both tools can ask for more than a password. Setting it up differs:
login-otp.php into adminer-plugins/ and put the secret in one more file. The secret stays in PHP code, where the database password alone does not reach it, and it is one secret shared by everyone using that Adminer. Instructions with the QR code.pma__userconfig table to some database and name that database in config.inc.php. The QR code then appears in the settings and every user sets up their own. The secret is stored there as plain JSON, so whoever can read the database can generate the codes - which is why phpMyAdmin reads the storage through a separate control user.Hardware keys work in both through WebAuthn, for different things. In phpMyAdmin the key is a second factor after the password. The Adminer login-passkey plugin lets the passkey hold the passwords themselves - they are encrypted with a key derived through the WebAuthn PRF extension, which is stored nowhere, and logging in without the passkey is refused. Both need HTTPS.
Some things are simply more complicated than they need to be. Each of these can be checked in a minute:
+ 10 to every selected row.CREATE TABLE in the SQL tab does not, so the new table is missing until the tree is reloaded by hand.SET foreign_key_checks = 0 unless you untick Enable foreign key checks box under the query - the box wins over the line in your dump.phpMyAdmin protects against clickjacking and against leaking the Referer, which is right. It implements both in JavaScript instead of in HTTP headers, and both are noticeable:
html{display: none} and a script removes that rule once it has run. Until then the window stays empty, then everything appears at once and shifts again as the widgets set themselves up. Adminer sends X-Frame-Options and a Content-Security-Policy header, so there is nothing to hide and nothing to flicker.rel="noreferrer" and a Referrer-Policy header.Browsing a table of 20 rows in a database with 25 objects, both tools on the same machine against the same database, as the browser reports it:
| Feature | Adminer 6.0.0 | phpMyAdmin 6.0.0-dev | Comment |
|---|---|---|---|
| First visit | 63 kB, 6 requests | 2686 kB, 81 requests | phpMyAdmin loads jQuery, jQuery UI, Bootstrap and CodeMirror. Adminer sends the page, its stylesheet, its script, its syntax highlighter and a logo - nothing from anyone else. |
| Following pages | 7 kB, 1 request | 269 kB, 5 requests | Adminer downloads only the page itself, everything else stays in the browser cache. phpMyAdmin fetches four more files and its own page weighs 190 kB. |
Part of the difference is that Adminer compresses what it sends by itself, while phpMyAdmin leaves that to the web server - which is not always set up for it, and this one was not. Uncompressed on both sides the two pages are 36 kB and 190 kB. The number of requests does not depend on compression at all.
Compared in August 2026: Adminer 6.0.0 against the phpMyAdmin 6.0.0-dev snapshot from 2026-08-06, both on PHP 8.5 and MySQL 8.0. The current phpMyAdmin release is 5.2.3, this page will be updated once 6.0 is out.