3 min read

hibp2sqlite

Table of Contents

šŸ‘‹ Introduction

hibp2sqlite is a terminal application to create a HaveIBeenPwned SQLite Database from a NTLM-hash text file.

This project is developed with Qt 6.9.3.

To obtain the NTLM-hash text file, use PwnedPasswordsDownloader from HaveIBeenPwned.

Install PwnedPasswordsDownloader by following the instructions described on the link above.

Then, download all NTLM hashes to a single txt file called pwnedpasswords_ntlm.txt

haveibeenpwned-downloader.exe -n pwnedpasswords_ntlm

After downloading pwnedpasswords_ntlm.txt, run hibp2sqlite. (See Usage ā„¹ļø)

āš ļø

Make sure there is enough free space on your drive since this file is at the time of writing ~70 GB. The conversion to SQLite with hibp2sqlite takes another ~180 GB for the SQLite database file. Please note that the conversion process takes a couple of hours, so grab a cup of coffee ā˜•

If you are looking for a GUI application to start this console application and query the SQLite database, check out: HaveIBeenPwned-Local.

ā„¹ļø

Credits to the author of this article since it gave me the idea to create this tool.

ā— Build Requirements

  • Windows
    • Microsoft Visual Studio 2022
    • Qt SDK 6.9.3 / Qt Creator 18

ā„¹ļø Usage

Windows

Usage: hibp2sqlite.exe [options] source destination

Options:
  -?, -h, --help  Displays help on commandline options.
  -v, --version   Displays version information.
  -l, --license   Displays license information.

Arguments:
  source          Source NTLM-hash text file to process.
  destination     Destination SQLite database.

Linux

Usage: hibp2sqlite-{version}.AppImage [options] source destination

Options:
  -?, -h, --help  Displays help on commandline options.
  -v, --version   Displays version information.
  -l, --license   Displays license information.

Arguments:
  source          Source NTLM-hash text file to process.
  destination     Destination SQLite database.

āš ļø Disclaimer

āš ļø

I’m not responsible for bricked devices, dead SD cards, thermonuclear war, or you getting fired because the alarm app failed. YOU are choosing to make these modifications, and if you point the finger at me for messing up your device, I will laugh at you.

šŸ“„ Downloads

Windows

ā„¹ļø

The example folder inside the zip archive contains a small text file with 3 NTLM hashes, and the resulting SQLite file for testing purposes.

Linux

šŸ’» Source

šŸ›ļø License

hibp2sqlite
Copyleft 2025

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.
Comments šŸ’¬