Skip to main content

blitcp — High-Speed File Copier with Deduplication & SSH Streaming

Release PyPI Downloads License Platforms Website Ko-fi Liberapay

blitcp is the new name of fast-copy (renamed in v4.0.0 — "blit" as in bit-block transfer, which is what the block-order engine does). Existing installs upgrade in place via --update; on-disk state and FAST_COPY_* environment variables keep working. See the CHANGELOG.

A fast, cross-platform tool for copying files and directories at maximum sequential disk speed — built for USB drives, external HDDs, NAS backups and large SSH transfers. CLI + desktop GUI, in 7 languages.

Why blitcp?

Problem Solution
cp -r is slow on HDDs due to random seeks Reads files in physical disk order for sequential throughput
Thousands of small files copy painfully slow Bundles small files into tar stream batches
Duplicate files waste space and time Content-aware dedup — copies once, hard-links or reflinks the rest
No space check until copy fails mid-way Pre-flight space check before any data is written
Copies that quietly fail half-way Post-copy verification — every copied file is read back and its content hashed against the source, with an exit code a script can act on
Copying between two servers is painful Remote-to-remote relay via SSH tar pipe streaming
SFTP is slow Raw SSH tar streaming bypasses SFTP overhead — 3–5× faster

Quickstart

pip install blitcp            # CLI — zero dependencies, Python 3.8+

blitcp /data /media/usb/data                # local → local
blitcp /data user@host:/backup              # local → remote over SSH
blitcp user@host:/data s3://bucket/backup   # any combination of local/SSH/cloud
blitcp --help                               # everything else

Optional: pip install paramiko for SSH, blitcp[cloud] for S3/Azure/GCS/SMB, xxhash for ~10× faster hashing. Prebuilt CLI and GUI binaries for Linux, macOS and Windows are on the Releases page — no Python needed.

Key features

  • Block-order reads — files are read in physical disk order (FIEMAP/fcntl/FSCTL), eliminating random seeks on HDDs
  • Reflink copies on btrfs / XFS / APFS / bcachefs — metadata-only CoW clones make a 10 GB same-volume copy complete in milliseconds
  • Content-aware deduplication — xxHash-128/SHA-256; each unique file is copied once, duplicates become hard links or reflinks, with a cross-run SQLite cache
  • SSH transfers without SFTP — tar batches over raw SSH channels, local↔remote and remote↔remote relay (streamed through your machine, never stored)
  • Cloud object storages3://, az://, gs:// as source or destination, with encrypted saved connections and a built-in passphrase generator
  • SMB / UNC shares — copy straight to \\server\share with saved credentials
  • Sparse-file awareness — VM images copied via SEEK_DATA/SEEK_HOLE; holes never hit the wire
  • Faithful metadata — permissions, timestamps, owner, xattrs and POSIX ACLs / NTFS DACLs+ADS, matching cp -a
  • Safety rails — pre-flight space check, post-copy verification with proper exit codes, honest dedup accounting on FAT32/exFAT
  • --use-sudo self-elevation with a tamper-resistant (chattr +i) JSONL audit log
  • Interface in 7 languages — English, Ελληνικά, 中文, Deutsch, Italiano, Español, 日本語
  • Multiple sources, globs, single-file renamescp -r-style ergonomics across every mode
  • Works on Linux, macOS, Windows (long paths included) · Synology/busybox-friendly · self-updating

Measured, not marketed

Scenario Result
Linux, 12,347 small files, cold HDD → SSD 2.5× faster than cp -ar (5.9s vs 15.0s, dedup+verify ON)
Windows, 9,578 files off USB 2.0 1.3× faster than robocopy — with verification ON
SSH, many small files over LAN 3–5× faster than scp/SFTP via tar streaming

Full methodology and more scenarios: blitcp.dev/benchmarks · DOCUMENTATION.md

Desktop GUI

blitcp GUI

pip install "blitcp[gui]" && blitcp-gui

Transfers, saved connections, file browser, history and settings — same engine, point and click. More screenshots →

Documentation

  • blitcp.dev/docs — guides: local copies, SSH transfers, cloud storage, sparse files, everyday options
  • DOCUMENTATION.md — the full manual: every option, how it works internally, examples, benchmarks
  • CHANGELOG.md — release history

Support

blitcp is free and Apache-2.0 licensed, and stays that way. Donations via Ko-fi or Liberapay go towards the Windows code signing certificate, hosting for blitcp.dev, and the hardware the published benchmarks run on. Starring the repository or filing a good bug report helps just as much.

License

Apache License 2.0 — see LICENSE. The --index-existing / --dedup-existing features were contributed by York-Simon Johannsen (#3).

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

blitcp-4.2.10.tar.gz (520.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

blitcp-4.2.10-py3-none-any.whl (533.7 kB view details)

Uploaded Python 3

File details

Details for the file blitcp-4.2.10.tar.gz.

File metadata

  • Download URL: blitcp-4.2.10.tar.gz
  • Upload date:
  • Size: 520.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for blitcp-4.2.10.tar.gz
Algorithm Hash digest
SHA256 d3e4e604e487e2d2ffd90bb23be1a73e1e07aad07abbb964a0a4b8d26a1f9cfb
MD5 5ba6199d3c2842787b423cc122547868
BLAKE2b-256 903f486e8c8879f18def4822f49277649eaf9ba44edbb7eeff4ab86694a9cb4f

See more details on using hashes here.

File details

Details for the file blitcp-4.2.10-py3-none-any.whl.

File metadata

  • Download URL: blitcp-4.2.10-py3-none-any.whl
  • Upload date:
  • Size: 533.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for blitcp-4.2.10-py3-none-any.whl
Algorithm Hash digest
SHA256 910cfe7b7c961646bf9f3ea01ddf8358505d41405f4690eb5fb14914ffbd419f
MD5 1c0db7d0b982b3edb3880beb29b48211
BLAKE2b-256 968a251c23b7377382b7697ca2fedb75106dedfe0862fcf75cc2985299eeb5ac

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

4.2.10 This release

2 files

4.2.9

2 files

4.1.6

2 files

4.0.3

2 files

4.0.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page