For document duplication, the strongest matches are arsenetar/dupeguru (DupeGuru is a content-based file deduplicator that finds and), qarmin/czkawka (Czkawka is a cross-platform duplicate file detector that uses) and google-research/deduplicate-text-datasets (This repository provides specialized tools to detect and remove). git/git and kopia/kopia round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Compare the best open-source document deduplication tools on GitHub, ranked by stars and activity, and find the right fit.
dupeguru is a content-based file deduplicator and cross-platform disk cleanup tool. It functions as a local file management utility designed to identify and remove redundant files to recover disk space. The application identifies identical files across a file system by using content hashing and metadata comparison. This allows it to detect duplicates regardless of their filenames or directory locations. The software covers a range of data management capabilities, including directory scanning, content-based data deduplication, and the consolidation of redundant copies into single versions. It
DupeGuru is a content-based file deduplicator that finds and removes redundant files using hashing and filename comparison, though it lacks dedicated fuzzy text similarity matching for knowledge bases.
Czkawka is a cross-platform utility designed for storage optimization and filesystem maintenance. It functions as a comprehensive file analysis engine that identifies redundant data, including duplicate files, empty directories, broken symbolic links, and temporary files. By utilizing hash-based content verification, the tool ensures accurate identification of duplicates regardless of file names or metadata. The project distinguishes itself by offering both a native graphical user interface and a command-line interface, allowing for both interactive management and automated, headless system m
Czkawka is a cross-platform duplicate file detector that uses hash-based verification and similarity scanning to find redundant data across storage systems via both a command-line interface and a graphical interface.
Deduplicate-text-datasets is a data cleaning pipeline and text indexing engine built in Rust for large language model data preparation and corpus decontamination. It constructs massive uncompressed suffix arrays on disk using single-threaded and parallel chunk-based algorithms, enabling memory-efficient pattern searching and indexing across multi-gigabyte text corpora. The software identifies overlapping byte ranges from repeated substring matches to strip duplicate content and produce cleaned text datasets. Its search and indexing capabilities support querying corpus occurrences, locating d
This repository provides specialized tools to detect and remove duplicate text documents for language model datasets using efficient exact and near-duplicate matching techniques.
Git is a distributed version control system and command-line tool designed for tracking changes in source code and coordinating collaborative software development. It functions as a content-addressable storage platform where project data is maintained as immutable objects indexed by cryptographic hashes, ensuring data integrity and efficient deduplication. The system organizes project history as a directed acyclic graph, where each commit serves as a snapshot linked to its parent to create a verifiable timeline of modifications. The architecture distinguishes itself through an index-based sta
Git is a version control system and content-addressable storage platform rather than a utility for detecting and removing duplicate documents across general storage systems or knowledge bases.
Kopia is a backup utility designed to create encrypted, deduplicated, and compressed snapshots of files and directories. It functions as a client-side tool that secures data locally before transmitting it to various storage targets, ensuring that sensitive information remains protected throughout the backup process. The system utilizes content-addressable block storage and metadata-driven versioning to identify and remove redundant data across multiple snapshots. By employing a pluggable storage abstraction layer, it supports a wide range of local, network, and cloud-based storage providers,
Kopia is a backup utility with client-side deduplication and content hashing, but it is designed for backup and disaster recovery rather than a general-purpose duplicate file detector for arbitrary storage systems.
bup is a deduplicating backup manager and incremental backup system. It uses a Git packfile-based storage format to eliminate redundant data across files and versions, treating every incremental save as a full backup. The system provides secure remote transport interfaces for transferring and managing backup data on remote servers via SSH. It also includes a backup repository browser available as both a web interface and a filesystem mount for exploring and retrieving files from snapshots. The project covers broad capability areas including disaster recovery, repository administration, and s
Bup is a deduplicating backup manager focused on efficient storage and disaster recovery rather than a general-purpose utility for detecting and removing duplicate files across a knowledge base.
Mac-CLI is a collection of terminal commands and utilities designed for automating system management, hardware monitoring, and software configuration on macOS. It serves as a developer utility and automation tool for manipulating files, managing version control, and auditing installed packages from the command line. The project provides hardware monitoring capabilities to track real-time battery health, CPU temperature, and fan speeds. It also includes system automation tools for managing power states, disk usage, and network settings through a unified interface. The utility covers several f
Mac-CLI is a collection of general system management and disk usage utilities for macOS rather than a dedicated duplicate file detector.
Taskbook is a command-line task manager and local plain-text organizer that provides a terminal user interface for managing to-do lists, project boards, and notes. It functions as a CLI Kanban board, allowing users to group actionable items and informational snippets into categorized boards. The tool emphasizes local data organization by storing information in local files with customizable storage paths. It supports a Kanban-style workflow where tasks are organized into boards and tracked through pending, in-progress, and complete states. The system includes capabilities for prioritizing tas
Taskbook is a command-line task manager and organizer for notes and to-dos rather than a utility to detect and remove duplicate documents or files.
Kubo is a peer-to-peer implementation of the InterPlanetary File System (IPFS) designed for decentralized data storage and content delivery. It uses content-addressing, directed acyclic graphs, and distributed hash tables to identify, distribute, and retrieve data across a network without relying on central servers. The project differentiates itself by providing a virtual filesystem via FUSE, which maps decentralized network namespaces to local operating system directories for direct file access. It also includes integrated HTTP gateways that translate peer-to-peer content into standard web t
Kubo is a peer-to-peer file system implementation using content addressing, but it is designed for decentralized storage and retrieval rather than detecting and removing duplicate files across systems.
js-git is a modular JavaScript implementation of the Git protocol and object model. It provides a content-addressable storage engine that manages blobs, trees, and commits using cryptographic hashes, allowing version control functionality to operate without external system dependencies. The project features a pluggable repository interface and storage layer, enabling Git data to be persisted across diverse mediums such as browser databases or local file systems. It includes a streaming packfile processor for packing and unpacking objects to facilitate efficient data transfer. The library cov
This JavaScript library provides content-addressable storage and Git protocol utilities, which is a building block rather than a standalone tool for detecting and removing duplicate documents across storage systems.
Buku is a personal bookmark manager that provides a command line interface, a portable bookmark database, and a self-hosted server for organizing web links. It functions as a command line knowledge base for saving, tagging, and searching web resources. The system features a portable, mergeable database that supports AES-256 encryption and is designed for cross-device data synchronization. It includes a RESTful API and a self-hosted web interface, allowing users to manage their collection via a browser or programmatic requests. Capabilities include automatic metadata fetching to populate page
This repository is a personal bookmark manager and web link organizer rather than a tool for detecting and removing duplicate files across storage systems.
TagStudio is a database-driven digital asset manager designed to organize and categorize files without altering their physical location on disk. It utilizes a non-destructive metadata store to attach tags and custom fields to files via a separate database rather than modifying original file headers. The project is distinguished by a hierarchical tagging system that supports parent-child relationships and custom color palettes for visual organization. It includes a multi-format media previewer that generates thumbnails and playback for images, videos, audio, documents, and archives, as well as
TagStudio is a digital asset manager focused on metadata-driven file organization and tagging rather than a dedicated tool for detecting and removing duplicate documents across storage systems.
| Repository | Stars | Language | License | Last push |
|---|---|---|---|---|
| arsenetar/dupeguru | 7.6K | Python | GPL-3.0 | |
| qarmin/czkawka | 31.5K | Fluent | NOASSERTION | |
| google-research/deduplicate-text-datasets | 1.3K | Rust | Apache-2.0 | |
| git/git | 61.5K | C | NOASSERTION | |
| kopia/kopia | 12.6K | Go | apache-2.0 | |
| bup/bup | 7.3K | Python | NOASSERTION | |
| guarinogabriel/mac-cli | 9.1K | Shell | MIT | |
| klaussinani/taskbook | 9.3K | JavaScript | MIT | |
| ipfs/kubo | 17.1K | Go | NOASSERTION | |
| creationix/js-git | 3.8K | JavaScript | MIT |