# Install f3 with Homebrew, apk, apt, dnf, MacPorts, Nix, zypper

Test various flash cards. Version 10.0 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:f3
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install f3
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install f3
```

  Evidence: MacPorts ports tree: sysutils/f3/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add f3
```

  Evidence: Alpine Linux edge package indexes: f3 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install f3
```

  Evidence: Debian stable package indexes: f3 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install f3
```

  Evidence: Fedora Rawhide package metadata: f3 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#f3
```

  Evidence: nixpkgs package indexes: pkgs/by-name/f3/f3/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- zypper (92%):

```sh
sudo zypper install f3
```

  Evidence: openSUSE Tumbleweed package metadata: f3 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

## Package facts

- **Package key:** brew:f3
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/f3>
- **Version:** 10.0
- **Source summary:** Test various flash cards
- **Homepage:** <https://fight-flash-fraud.readthedocs.io/en/latest/>
- **Repository:** <https://github.com/AltraMayor/f3>
- **Upstream docs:** <https://fight-flash-fraud.readthedocs.io/en/latest>
- **License:** GPL-3.0-only
- **Source archive:** <https://github.com/AltraMayor/f3/archive/refs/tags/v10.0.tar.gz>
- **Last updated:** 2026-06-22T14:03:18-07:00
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- f3read (cli)
- f3write (cli)
- f3read (alias)
- f3write (alias)

## Dependencies

- argp-standalone

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 10.0
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://github.com/AltraMayor/f3
- Upstream latest detected: v10.0 (current)
## Project history and usage

F3, short for Fight Flash Fraud or Fight Fake Flash, is a GPLv3 flash-storage testing toolkit that writes and verifies pseudorandom data to detect counterfeit USB drives and memory cards.

### Project history

F3 began in 2010 after Michel Machado bought a 32 GB microSDHC card for an Android phone and found it failed when filled. The official history says the project was inspired by counterfeit-flash reports and by H2testw, whose algorithm was documented but whose implementation was Windows-only and not open source.

The original F3 implementation split the H2testw-style test into `f3write` and `f3read`: one fills available space with test files, and the other validates the data. The toolkit later grew Linux-only direct-device tools: `f3probe` to identify fake drives and real sizes quickly, `f3fix` to create a usable partition matching real capacity, and `f3brew` to help developers infer how fake drives behave.

The changelog records a long maintenance line from version 1.0 in August 2010 through version 10.0 in April 2026, with platform support, extra tools, portability work, and newer probing algorithms added over time.

### Adoption history

F3 became the Unix-like answer to H2testw for users who needed to test flash media outside Windows or wanted auditable source. Its docs explicitly cover Linux, macOS, Windows/Cygwin, FreeBSD, Docker-based workflows, Homebrew, and MacPorts installation paths.

Package-manager adoption follows the practical need: F3 is the small CLI people install before trusting cheap SD cards, USB sticks, camera cards, or marketplace flash media. The input package facts list it across Homebrew, Debian, Ubuntu, Fedora, Alpine, MacPorts, Nix, and openSUSE.

### How it is used

The conservative workflow is `f3write` on a mounted filesystem followed by `f3read` on the same path. This fills free space with test files and verifies whether the drive returns the same data, while also estimating write and read speeds.

`f3probe` is the faster destructive path for large media because it works directly on an unmounted block device and writes only what is necessary to infer real capacity. `f3fix` then uses probe output to create a partition that fits the usable portion of a fake device.

The docs repeatedly warn that testing suspect media can destroy data, especially because fake devices may overwrite earlier sectors while pretending to have more capacity.

### Why package nerds care

F3 is a classic package-nerd utility because it turns a hardware scam into a reproducible command-line test. It is small C code, works in scripts, has simple executables, and answers a question package managers often face indirectly: can this storage device actually be trusted?

It also matters culturally as an open-source, cross-platform counterweight to H2testw. The file format compatibility and staged tool evolution show a pragmatic Unix approach: first reproduce the trusted test, then add direct-device probes and repair helpers.

### Timeline

- 2010: Project started after a fake 32 GB microSDHC card exposed the need for an open-source H2testw-like tool.
- 2010: Version 1.0 initial release.
- 2011: Version 2.0 adds macOS support.
- 2014: Version 3.0 adds Windows/Cygwin support and adopts H2testw's file format.
- 2014: Version 4.0 adds FreeBSD support.
- 2014: Version 5.0 adds experimental `f3probe` and `f3fix`.
- 2015: Version 6.0 adds experimental `f3brew`.
- 2017: Version 7.0 marks `f3probe`, `f3fix`, and `f3brew` stable for Linux.
- 2025: Version 9.0 adds portability improvements and GitHub Actions testing.
- 2026: Version 10.0 adds a new `f3probe` probing algorithm and moves the codebase to C17.

### Related projects

- H2testw is the Windows tool and file-format reference that inspired F3.
- FakeFlashTest and related flash-test tools occupy the same counterfeit-storage detection niche.
- Homebrew and MacPorts are documented install paths for macOS users.

### Sources

- <https://fight-flash-fraud.readthedocs.io/en/latest/>
- <https://fight-flash-fraud.readthedocs.io/en/latest/history.html>
- <https://fight-flash-fraud.readthedocs.io/en/latest/usage.html>
- <https://github.com/AltraMayor/f3>
- <https://github.com/AltraMayor/f3/blob/master/changelog>
- <https://api.github.com/repos/AltraMayor/f3>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** f3
- **Version Scheme:** 0
- **Revision:** 0
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - f3 - 9.0-1: normalized package name match | Debian stable package indexes: f3 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | test real flash memory capacity | https://fight-flash-fraud.readthedocs.io/en/stable/
- Nix - f3: normalized package name match | nixpkgs package indexes: pkgs/by-name/f3/f3/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - f3 - 8.0-2build2: normalized package name match | Ubuntu 24.04 LTS package indexes: f3 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | test real flash memory capacity | https://fight-flash-fraud.readthedocs.io/en/stable/
- apk - f3 - 10.0-r0: normalized package name match | Alpine Linux edge package indexes: f3 from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | F3 - Fight Flash Fraud | http://oss.digirati.com.br/f3/
- apk - f3-doc - 10.0-r0: normalized package name match | Alpine Linux edge package indexes: f3-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | F3 - Fight Flash Fraud (documentation) | http://oss.digirati.com.br/f3/
- apk - f3-extra - 10.0-r0: normalized package name match | Alpine Linux edge package indexes: f3-extra from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Extra tools for f3 | http://oss.digirati.com.br/f3/
- dnf - f3 - 9.0-3.fc44: normalized package name match | Fedora Rawhide package metadata: f3 from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Utility to test for fake flash drives and cards | https://oss.digirati.com.br/f3/
- zypper - f3 - 9.0-1.3: normalized package name match | openSUSE Tumbleweed package metadata: f3 from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Fight Flash Fraud / Fight Fake Flash | http://oss.digirati.com.br/f3/
- MacPorts - f3: normalized package name match | MacPorts ports tree: sysutils/f3/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Matched curated package taxonomy and local package facts.
- [f2](https://www.automicvault.com/pkg/brew/f2/) - Package name indicates the same formula family.
- [chkbit](https://www.automicvault.com/pkg/brew/chkbit/) - Shares av.db curated category or tags: cli, storage, system.
- [device-mapper](https://www.automicvault.com/pkg/brew/device-mapper/) - Shares av.db curated category or tags: cli, storage, system.
- [di](https://www.automicvault.com/pkg/brew/di/) - Shares av.db curated category or tags: cli, storage, system.
- [disktype](https://www.automicvault.com/pkg/brew/disktype/) - Shares av.db curated category or tags: cli, storage, system.
- [dua-cli](https://www.automicvault.com/pkg/brew/dua-cli/) - Shares av.db curated category or tags: cli, storage, system.
- [duc](https://www.automicvault.com/pkg/brew/duc/) - Shares av.db curated category or tags: cli, storage, system.
- [fio](https://www.automicvault.com/pkg/brew/fio/) - Shares av.db curated category or tags: cli, storage, system.
- [gdu](https://www.automicvault.com/pkg/brew/gdu/) - Shares av.db curated category or tags: cli, storage, system.
- [smartmontools](https://www.automicvault.com/pkg/brew/smartmontools/) - Local package facts share a topical domain. Shared terms: cli, drive, storage, system.

## Combined YAML source

View the package source record on GitHub. [combined/f3.yml](https://github.com/automic-vault/db/blob/main/combined/f3.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
