What's the difference between KeePass / KeePassX / KeePassXC?

You probably already know, but both KeePass and KeePassX (& now KeePassXC, a fork of KeePassX) are open source (published under the GNU General Purpose Licence 2) secure (using AES or Twofish) data storage programs, using a single database file to store (mainly) passwords, or pretty much any data you'd like e.g. user names, passwords, urls, attachments and comments.

KeePass was started about 2003, originally for Windows only, but now uses Mono to run on anything that Mono supports, like Mac OS X, Linux, FreeBSD...

KeePassX is an "Contributed/Unofficial KeePass Port" of KeePass that was started in 2005 (if the copyright notice on the bottom of their webpages is accurate) to run KeePass on Linux. It is now available as a native program for Linux, Windows, OS X, and others.

As the KeePassX homepage says:

Originally KeePassX was called KeePass/L for Linux since it was a port of Windows password manager Keepass Password Safe. After KeePass/L became a cross platform application the name was not appropriate anymore and therefore, on 22 March 2006 it has been changed [to KeePassX].

KeePassXC seems to have been forked from KeePassX because of the slow development of KeePassX (it's last update was v2.0.2 on 2016-02-02) while KeePassXC started with v2.1.0 on 2017-01-22.


Currently, the biggest difference between KeePass & KeePassX seems to be the appearance and "feel" of each program, especially on Linux or Mac OS X where KeePassX doesn't rely on Mono, so matches the look of other native programs closer. And, KeePassX's version 0.4.x & 2.x display issues.

Also, KeePassX/XC doesn't support plugins (there are several plugins for KeePass), as the user Grief points out in their answer so do upvote it too.

Screenshots of KeePassX "1.x"/(0.4.x) & "2.x", and KeePass2

These are on a Linux Mint 17 XFCE (Ubuntu 14.04 based) system. See this Ubuntu package search for keepass for what version's currently in what release:

KeePassX 0.4.3 (version 1.x compatible)

This version's in Ubuntu "Trusty Tahr" 14.04 LTS, and uses the KeePass v1.x database - AES/Rijndael or Twofish KeePassX 0.4 This is basically the same font & sizes as other windows, looks great & fits in. You can customize the columns & see the preview panel. Opening an entry to view/edit opens a new window: KeePassX 0.4 view entry


KeePassX 2.0.2

In Ubuntu 16.04 LTS & 16.10, using the KeePass v2.x database - AES/Rijndael only. KeePass2 normal view It uses the new database version 2.x, but you can't use TwoFish encryption, and it removes some display features like the preview panel (the bottom/right panel with details on the selected entry) and customizing columns. Viewing/editing an entry does not open a new window, it changes the whole KeePassX window into the view/edit window.

For some reason, it wouldn't let me resize the window to any smaller than this screenshot. Hopefully they'll add back the missing display features soon, but until then I'll stick with KeePassX 0.4.x.


KeePassXC 2.2.0

A "new contender" has emerged, KeePassXC, that describes itself as "a community fork of KeePassX, a native cross-platform port of KeePass Password Safe, with the goal to extend and improve it with new features and bugfixes to provide a feature-rich, fully cross-platform and modern open-source password manager."

It's FAQs answer some basic questions:

  • Q: Why KeePassXC instead of KeePassX?
    A: KeePassX is an amazing password manager, but hasn't seen much active development for quite a while. Many good pull requests were never merged and the original project is missing some features which users can expect from a modern password manager. Hence, we decided to fork KeePassX to continue its development and provide you with everything you love about KeePassX plus many new features and bugfixes.

  • Q: Why KeePassXC instead of KeePass?
    A: KeePass is a very proven and feature-rich password manager and there is nothing fundamentally wrong with it. However, it is written in C# and therefore requires Microsoft's .NET platform. On systems other than Windows, you can run KeePass using the Mono runtime libraries, but you won't get the native look and feel which you are used to.
    KeePassXC, on the other hand, is developed in C++ and runs natively on all platforms giving you the best-possible platform integration.

KeePassXC and KeePassX appear to be visually nearly identical (so no screenshot, only adds a Password Generator toolbar button), but some differences are KeePassXC has:

  • Support of AES, Twofish or ChaCha20 encryption
  • SSH Agent integration
  • Command line interface
  • Password strength meter showing Entropy (bits)
  • Browser integration with KeePassXC-Browser for Google Chrome, Chromium, Vivaldi, and Mozilla Firefox.
    • Their FAQs have a section on Browser Integration
  • (Legacy) KeePassHTTP support for use with KeePassHTTP-Connector available for Mozilla Firefox and Google Chrome, and passafari for Safari.
    • Note: "As of KeePassXC 2.3, we deprecated KeePassHTTP in favor of KeePassXC-Browser"
  • See it's changelog for more info

KeePass 2.25 using Mono

In Ubuntu 14.04 LTS, there's a slightly higher version in 16.04 LTS & newer: enter image description here Visually very similar to KeePassX 0.4.3 but the font's different & smaller, just looks out of place. The preview panel's much more compact (like reading a .CSV file) and viewing/editing an entry opens a new window. It's got a side-by-side view too: KeePass2 side-by-side Also can NOT do somethings that the Windows version can like Export to KeePass version 1 formats: KeePass2 Not on Windows Error And has some display issues for me, like in this next image the key transformation rounds is actually 6003, but only the 6 is visible: KeePass2 Display Problems


Formerly, the current "main" KeePassX (0.4.3) only supported "the KeePass 1.x (Classic) password database format" But as of December 7, 2015, KeePassX version 2 has finally reached a stable release:

We’re proud to announce the first stable release of the KeePassX 2 series after several years of development.

KeePassX 2.0 is using the new .kdbx (same as KeePass 2) database format.
You can import your .kdb database from 0.4 from the Database > Import KeePass 1 database.
This is a one-way process though. You can’t migrate back to the .kdb format.

New features include:

  • Multiple attachments per entry
  • Add custom key/value pairs to entries
  • Open multiple database in one window

And the page "KeePass Edition Comparison" is probably helpful to differentiate versions 1 and 2.

It compares around 50 different aspects, copying them all here would be unnecessary, so I'll just paste a few of the differences, features that KeePass 1.x do NOT have, compared to KeePass 2.x. Many of these look very Windows-centered:

Full Unicode Support, Enhanced High DPI Support, Windows User Account, One-Time Passwords (as a plugin), Enter Master Key on Secure Desktop, Custom String Fields, Internal Attachment Viewer/Editor, Entry History, Import External Icons, Group Notes, Show Entries of Sub-Groups, Recycle Bin, Entry Tags, Grouped Results, Sort Search Results, Auto-Type TCATO, Pick Characters, Export To XSL-Transformed, Import from "More than 35 formats (see Help: Import)", Open Database via URL (FTP, HTTP, WebDAV, SCP, SFTP, FTPS), Shared Database Editing (Office-style locking), Synchronization, Scripting, Trigger System.

And, KeePass 1.x supports the AES/Rijndael & Twofish Encryption Algorithms. KeePass 2.x supports AES/Rijndael in KeePassX, AES & TwoFish for KeePassXC, AES & ChaCha20 for KeePass.

See the linked Comparison page above for more info, & some description.


Currently, one of the most significant differences between KeePass and KeePassX is lack of plugins or even API for them in KeePassX:

Are there any plugins for KeePassX?

There is no interface built in to support plugins. Therefore, no plugins available.

(reference)

UPD (4 Oct 2019):

I'd strongly recommend to give KeePassXC a try. For me at appears to be much better than both KeePass and KeePassX. It has browser integration out of the box.


KeePassX is an open-source clone of KeePass for Linux and OS X. As KeePassX uses QT, they don't have the same user interface.

However, they can be used interchangeably as their .kdb or .kdbx databases are binary-compatible.