BleachBit

bleachbit.org
BleachBit

Clears cache and deletes temporary files very effectively. This frees up disk space, improves performance, but most importantly helps to protect privacy.

Open Source

BleachBit Source Code

Author

bleachbit

Description

BleachBit system cleaner for Windows and Linux

#antiforensics#bleachbit#ccleaner-alternative#disk-cleaner#gplv3#gtk#linux#privacy#python#security#windows

Homepage

https://www.bleachbit.org

License

GPL-3.0

Created

10 Mar 14

Last Updated

10 Jun 26

Latest version

v6.0.0

Primary Language

Python

Size

26,806 KB

Stars

5,863

Forks

386

Watchers

5,863

Language Usage

Language Usage

Star History

Star History

Top Contributors

Recent Commits

  • Akhil Raj (10 Jun 26)

    Added translation for new language (Malayalam)

  • GitHub Action (09 Jun 26)

    Update localization files Automatically extracted from ./po/*.po

  • Mr-Update (08 Jun 26)

    Translate to (German) Currently translated at 100.0% (505 of 505 strings) Translation: BleachBit/main Translate-URL: https://hosted.weblate.org/projects/bleachbit/main/de/

  • GitHub Action (08 Jun 26)

    Update localization files Automatically extracted from ./po/*.po

  • Priit Jõerüüt (07 Jun 26)

    Translate to (Estonian) Currently translated at 100.0% (505 of 505 strings) Translation: BleachBit/main Translate-URL: https://hosted.weblate.org/projects/bleachbit/main/et/

  • Ghost of Sparta (08 Jun 26)

    Translate to (Hungarian) Currently translated at 100.0% (505 of 505 strings) Translation: BleachBit/main Translate-URL: https://hosted.weblate.org/projects/bleachbit/main/hu/

  • Matthaiks (07 Jun 26)

    Translate to (Polish) Currently translated at 100.0% (505 of 505 strings) Translation: BleachBit/main Translate-URL: https://hosted.weblate.org/projects/bleachbit/main/pl/

  • Marino de Stena (08 Jun 26)

    Translate to (Italian) Currently translated at 99.2% (501 of 505 strings) Translation: BleachBit/main Translate-URL: https://hosted.weblate.org/projects/bleachbit/main/it/

  • Yaron Shahrabani (08 Jun 26)

    Translate to (Hebrew) Currently translated at 98.6% (498 of 505 strings) Translation: BleachBit/main Translate-URL: https://hosted.weblate.org/projects/bleachbit/main/he/

  • Hosted Weblate user 54392 (08 Jun 26)

    Translate to (Chinese (Simplified Han script)) Currently translated at 100.0% (505 of 505 strings) Translation: BleachBit/main Translate-URL: https://hosted.weblate.org/projects/bleachbit/main/zh_Hans/

  • Pin-Hsien Lee (08 Jun 26)

    Translate to (Chinese (Traditional Han script)) Currently translated at 100.0% (505 of 505 strings) Translation: BleachBit/main Translate-URL: https://hosted.weblate.org/projects/bleachbit/main/zh_Hant/

  • Stephan Paternotte (07 Jun 26)

    Translate to (Dutch) Currently translated at 100.0% (505 of 505 strings) Translation: BleachBit/main Translate-URL: https://hosted.weblate.org/projects/bleachbit/main/nl/

  • Oğuz Ersen (08 Jun 26)

    Translate to (Turkish) Currently translated at 100.0% (505 of 505 strings) Translation: BleachBit/main Translate-URL: https://hosted.weblate.org/projects/bleachbit/main/tr/

  • Dan (08 Jun 26)

    Translate to (Ukrainian) Currently translated at 100.0% (505 of 505 strings) Translation: BleachBit/main Translate-URL: https://hosted.weblate.org/projects/bleachbit/main/uk/

  • GitHub Action (07 Jun 26)

    Update localization files Automatically extracted from ./po/*.po

  • Hosted Weblate (07 Jun 26)

    Update translation files Updated by "Update PO files to match POT (msgmerge)" hook in Weblate. Translation: BleachBit/main Translate-URL: https://hosted.weblate.org/projects/bleachbit/main/

  • Andrew Ziem (07 Jun 26)

    Improve i18n for Claude Code - Add translation hints - Reuse an existing text string

  • Andrew Ziem (07 Jun 26)

    Merge branch 'dev'

  • Andrew Ziem (07 Jun 26)

    Update translation template

  • Andrew Ziem (07 Jun 26)

    Split recycle bin test into per-drive and all-drives tests - If the per-drive test fails, the all-drives test will continue - Use subTest context manager for per-drive testing - Add verification that recycle bin is empty after emptying all drives - Tolerate specific failure under AppVeyor CI - All-drive empty recycle bin: works - Query contents per-drive: works - Verified that there are definately files in the recycle bin - Same test works locally but fails in AppVeyor - Test worked recently in AppVeyor but no clear cause related to our code or their server image - Per-drive emptying is not used outside the tests, so not a priority to maintain test_empty_recycle_bin (tests.TestWindows.WindowsTestCase.test_empty_recycle_bin) Unit test for empty_recycle_bin ... ok test_empty_recycle_bin_all_drives_destructive (tests.TestWindows.WindowsTestCase.test_empty_recycle_bin_all_drives_destructive) Empty recycle bin in all drives at once ... ok test_empty_recycle_bin_per_drive_destructive (tests.TestWindows.WindowsTestCase.test_empty_recycle_bin_per_drive_destructive) Empty recycle bin in each drive individually ... error in SHEmptyRecycleBin(): recycle_bin_size=786.4kB, num_files=25, path='C:\\' Traceback (most recent call last): File "C:\projects\bleachbit\bleachbit\Windows.py", line 858, in empty_recycle_bin shell.SHEmptyRecycleBin(None, path, flags) pywintypes.com_error: (-2147024893, 'The system cannot find the path specified.', None, None) test_empty_recycle_bin_per_drive_destructive (tests.TestWindows.WindowsTestCase.test_empty_recycle_bin_per_drive_destructive) (drive='C:\\') Empty recycle bin in each drive individually ... ERROR test_file_wipe (tests.TestWindows.WindowsTestCase.test_file_wipe) Unit test for file_wipe ... file_wipe(C:\Users\appveyor\AppData\Local\Temp\1\bleachbit-file-wiped7f9s6rx\short)

  • Andrew Ziem (07 Jun 26)

    Improve recycle bin test - Rename put_files_into_recycle_bin to put_objects_into_recycle_bin - Add files to recycle bin with names made from common.SPECIAL_TEST_STRINGS - Use context manager - Add contents to file to force them to become non-resident - Count the number of objects put into recycle bin

  • Andrew Ziem (07 Jun 26)

    Add many forks to vscode.xml

  • Andrew Ziem (06 Jun 26)

    Add logging for SHEmptyRecycleBin() error AppVeyor CI ===================================================================== ERROR: test_empty_recycle_bin_destructive (tests.TestWindows.WindowsTestCase.test_empty_recycle_bin_destructive) Unit test the destructive part of empty_recycle_bin() ---------------------------------------------------------------------- Traceback (most recent call last): File "C:\projects\bleachbit\tests\TestWindows.py", line 1040, in test_empty_recycle_bin_destructive ret = empty_recycle_bin(drive, really_delete=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\projects\bleachbit\bleachbit\Windows.py", line 853, in empty_recycle_bin shell.SHEmptyRecycleBin(None, path, flags) pywintypes.com_error: (-2147024893, 'The system cannot find the path specified.', None, None) ======================================================================

  • Andrew Ziem (06 Jun 26)

    Use new platform constants - Replace os.name and sys.platform checks with the new IS_WINDOWS, IS_POSIX, and IS_MAC constants - Replace longer license+vim modelines with SPDX-License-Identifier (no change in actual license) - Update copyright year to 2026

  • Andrew Ziem (06 Jun 26)

    Add tests for get_font_size_from_name() utility function

  • Andrew Ziem (06 Jun 26)

    Improve get_clipboard_paths() with optional parameters and better tests - Automatically get clipboard and targets when not provided - Split clipboard tests into separate test methods by clipboard format - Add module docstrings to GuiUtil.py and TestGuiUtil.py - Test text/plain on all platforms - Add setUp() and tearDown() methods to clipboard test case - Add test for text/uri-list format using mock clipboard

  • Andrew Ziem (07 Jun 26)

    Implement existing flush_gtk_events() helper

  • Andrew Ziem (06 Jun 26)

    Refactor clipboard operations into GuiUtil module - Extract clear_clipboard() and get_clipboard_paths() into GuiUtil.py - Update System cleaner to use new clear_clipboard() function - Update GuiApplication to use new get_clipboard_paths() function - Add wait_until() helper method to GUI test case - Add tests for clipboard operations - Add new TestGuiUtil.py with tests for get_clipboard_paths() on Windows and Linux

  • Andrew Ziem (06 Jun 26)

    Extract path normalization logic into separate helper method - Add _assert_path() static method to normalize paths for existence checks - Only expand environment variables for non-absolute paths - Handle both string and Path object inputs - Update assertExists() and assertNotExists() to use new helper - Improve type assertion error message to mention Path objects - Fix lint errors for related functions

  • Andrew Ziem (06 Jun 26)

    Clear clipboard after shredding files from paste operation - Add clear_clipboard parameter to shred_paths() method - Clear clipboard content after user confirms shredding pasted files - Add test using mock

BleachBit Security

4/10

Repo Security Summary

Updated 01 Jun 26

  • Code-Review 0/10
  • Maintained 10/10
  • Dangerous-Workflow 10/10
  • Packaging N/A
  • Token-Permissions 0/10
  • CII-Best-Practices 0/10
  • Binary-Artifacts 8/10
  • Security-Policy 0/10
  • License 10/10
  • Fuzzing 0/10
  • Branch-Protection 0/10
  • Signed-Releases 8/10
  • SAST 0/10
  • Pinned-Dependencies 0/10

Security Advisories (2)

  • high Patched CVSS 7.3

    CVE-2025-32780 DLL Untrusted Path Vulnerability in BleachBit <= 4.6.2 for Windows

  • high Patched CVSS 7.3

    CVE-2023-47113 DLL Search Order Hijacking vulnerability in BleachBit for Windows

BleachBit Website

Website

Clean Your System and Free Disk Space | BleachBit

BleachBit is a free, open-source disk space cleaner and privacy manager for Windows and Linux. Shred files, wipe free space, and delete junk files safely.

Redirects

Does not redirect

Security Checks

All 65 security checks passed

Server Details

  • IP Address 172.67.68.253
  • Location San Francisco, California, United States of America, NA
  • ISP CloudFlare Inc.
  • ASN AS13335

Associated Countries

  • US US

Safety Score

Website marked as safe

100%

Blacklist Check

www.bleachbit.org was found on 0 blacklists

  • AntiSocial Blacklist
  • Artists Against 419
  • Badbitcoin
  • Bambenek Consulting
  • CERT Polska
  • CoinBlockerLists
  • CRDF
  • CryptoScamDB
  • EtherAddressLookup
  • EtherScamDB
  • Fake Website Buster
  • MetaMask EthPhishing
  • NABP Not Recommended Sites
  • OpenPhish
  • PetScams
  • PhishFeed
  • PhishFort
  • Phishing.Database
  • PhishStats
  • PhishTank
  • Phishunt
  • RPiList Not Serious
  • Scam.Directory
  • SecureReload Phishing List
  • Spam404
  • StopGunScams
  • Suspicious Hosting IP
  • ThreatFox
  • ThreatLog
  • TweetFeed
  • URLhaus
  • ViriBack C2 Tracker

Website Preview

Website preview

BleachBit Reviews

More Windows Defences

About the Data: BleachBit

API

You can access BleachBit's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/v1/services/bleachbit

The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.

Share BleachBit

Help your friends compare Windows Defences, and pick privacy-respecting software and services.
Share BleachBit and Awesome Privacy with your network!

View Windows Defences (17)