RecoverPy: Recover overwritten or deleted data


RecoverPy is a powerful tool that leverages your system capabilities to recover lost files. Unlike others, you can not only recover deleted files but also overwritten data. Every block of your partition will be scanned. You can even find a string in binary files.

recover deleted files


🐧 RecoverPy is currently only available on Linux systems.

➡️ Dependencies

Mandatory: To list and search through your partitions, recoverpy uses grep, dd, and lsblk commands.

Optional: To display real-time grep progress, you can install progress.

To install all dependencies:

  • Debian-like: apt install grep coreutils util-linux progress
  • Arch: pacman -S grep coreutils util-linux progress
  • Fedora: dnf install grep coreutils util-linux progress

➡️ Installation from pip

python3 -m pip install recoverpy


python3 -m recoverpy

🔴 You must have root access to use recoverpy.

If you are not logged as root use sudo recoverpy or log in with su – before execution.

1️⃣ Select the system partition in which your file was. If you are out of luck, you can alternatively search in your home partition, maybe your IDE, text editor, etc. made a backup at some point.

2️⃣ Type a text string to search. See tips below for better results.

Note that searching a string in a whole partition may take a while. (see euphemism)

The default save path is /tmp/, click on Settings to edit the configuration.

3️⃣ Start search, Results will appear in the left-hand box.

4️⃣ Select a result to display the corresponding partition block content in the right-hand box.

5️⃣ Once you have found your precious, select Save.

6️⃣ You can now either save this block individually or explore neighboring blocks for the remaining parts of the file. You could then save it all in one file.


  • Always do backups! Yes, maybe too late…
  • Unmount your partition before you do anything! Although you can search with your partition still mounted, it is highly recommended to unmount your partition to avoid any alteration to your file.

Regarding the searched string:

  • Be concise, find something that could be unique to your file.
  • Stay simple, your string is escaped but exotic characters may affect your results.
  • Try to remember the last edit you have made to your file.

When you found your file:

  • Use the option to explore neighboring blocks to make sure you do not miss some part of your file.

Recoverpy Copyright (C) 2021 Pablo Lecolinet