Native macOS (SwiftUI) tool for measuring file transfer speed. Requires macOS 15+.
Copy — pick or drop files/folders and a destination. Copies them while showing live MB/s, a speed graph, progress, ETA, average and peak. Never overwrites: stops if an item with the same name already exists. Preserves permissions, timestamps, extended attributes and symlinks (macOS also marks every copy with a quarantine attribute, as it does for all files sandboxed apps write).
Benchmark — pick a drive (internal, USB, Thunderbolt, mounted SMB/AFP/NFS share) or any folder. Writes a 1–10 GB test file, flushes it to the device, reads it back, deletes it, and reports sequential write/read speed.
The app is sandboxed: it only touches files and folders you pick or drop on it. The first test of an external or network drive asks, once, for permission to write to it.
- Raw POSIX
read/writein 8 MB chunks withF_NOCACHE, so the page cache in RAM doesn't inflate results. - Benchmark write time includes
F_FULLFSYNC(falls back tofsyncon shares that lack it). - Live speed is a 1-second sliding window; final numbers are total bytes ÷ total time.
- Speeds are decimal MB/s (1 MB = 1,000,000 bytes), like drive spec sheets and most disk tools.
Download the .dmg from Releases, open it, and drag Transfer Speed to Applications. Universal build: runs on Apple Silicon and Intel.
The app is ad-hoc signed, not notarized, so macOS blocks the first launch. Open it once, then go to System Settings → Privacy & Security and click Open Anyway.
./build.sh # build/Transfer Speed.app
./build.sh dmg # also build/TransferSpeed-<version>.dmg
./build.sh mas <profile> # Mac App Store package build/TransferSpeed-<version>.pkgWith a Developer ID Application certificate in the keychain, the app and DMG are signed with it (hardened runtime, secure timestamp); otherwise they are signed ad-hoc. To also notarize and staple the DMG, store credentials once and pass the profile name:
xcrun notarytool store-credentials TransferSpeed --apple-id <apple-id> --team-id <team-id>
NOTARY_PROFILE=TransferSpeed ./build.sh dmgFor the Mac App Store build and the remaining account-side steps, see docs/APP_STORE.md.
Other commands:
swift run # run without bundling
swift test # engine testsSources/TransferSpeed/Engine.swift— copy planner/executor, benchmark I/O, cancellationSources/TransferSpeed/Jobs.swift— observable view models and speed samplingSources/TransferSpeed/*View.swift,Components.swift— UIscripts/make-icon.swift— renders the app icon
MIT — see LICENSE.