# Install nfd2nfc with Homebrew, MacPorts

Convert filesystem entry names from NFD to NFC for cross-platform compatibility. Version 2.1.0 via Homebrew; verified from local package data. Also installable with macports: sudo port install nfd2nfc.

## Install

```sh
sudo av install brew:nfd2nfc
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install nfd2nfc
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install nfd2nfc
```

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

## Package facts

- **Package key:** brew:nfd2nfc
- **Package manager:** Homebrew
- **Version:** 2.1.0
- **Source summary:** Convert filesystem entry names from NFD to NFC for cross-platform compatibility
- **Homepage:** <https://github.com/elgar328/nfd2nfc>
- **Repository:** <https://github.com/elgar328/nfd2nfc>
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- nfd2nfc (alias)
- nfd2nfc-watcher (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 2.1.0
## Project history and usage

nfd2nfc is a macOS-focused filename-normalization utility. It watches directories and converts filesystem entry names from Unicode NFD to NFC so files shared from macOS behave better on Windows, Linux, Git, cloud sync, archives, and other tools that expect composed Unicode names.

### Project history

The project documents the root problem plainly: macOS stores filenames in decomposed NFD form, while Windows and Linux commonly use NFC. nfd2nfc wraps that conversion in an interactive TUI, scriptable CLI, and background watcher service. The README says it moved from the maintainer's personal tap to homebrew-core starting with v2.0.7.

### Adoption history

Adoption is small but precise: it serves users who regularly move filenames with Hangul, accented Latin characters, Japanese kana, or other composed characters across platforms. The Homebrew API generated on 2026-07-01 reported 144 installs-on-request in the preceding 365 days, plus 7 HEAD installs.

### How it is used

The usual package-nerd path is `brew install nfd2nfc`, run `nfd2nfc` for the TUI, register watch paths, and let `nfd2nfc-watcher` convert new or modified filenames. For scripting, the README documents commands such as `nfd2nfc status --json`, `nfd2nfc convert <path> --mode recursive --target nfc --dry-run --json`, and watcher start/stop/restart commands.

Because it is a macOS watcher that renames files, permissions matter: upstream documents Full Disk Access for the watcher binary and notes that application-level NFD conversion by browsers, email, cloud storage, messaging apps, and archive tools remains outside nfd2nfc's scope.

### Why package nerds care

This is a classic small macOS packaging win: a narrow filesystem annoyance, a Homebrew formula, a LaunchAgent-backed watcher, JSON-friendly CLI output, and no cross-platform ambition beyond fixing the local source of bad filenames.

### Timeline

- v2.0.7: README migration notes say the project moved from the personal tap to homebrew-core.
- 2026-07-01: Homebrew formula API generated data for nfd2nfc 2.1.0.

### Related projects

- Unicode normalization
- macOS LaunchAgent
- Homebrew

### Sources

- <https://formulae.brew.sh/api/formula/nfd2nfc.json>
- <https://github.com/elgar328/nfd2nfc>


## Security Notes

narrow executable package without higher-risk signals.

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

## Other Package-Manager Records

- MacPorts - nfd2nfc: normalized package name match | MacPorts ports tree: sysutils/nfd2nfc/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/nfd2nfc.yml](https://github.com/mxcl/pkgdb/blob/main/combined/nfd2nfc.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
