# Install fx with Homebrew, apk, MacPorts, Nix, pacman, scoop, zypper

Terminal JSON viewer. Version 39.2.0 via Homebrew; verified from local package data.

## Install

```sh
sudo av install brew:fx
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install fx
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install fx
```

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

### Linux

- apk (92%):

```sh
sudo apk add fx
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#fx
```

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

- pacman (92%):

```sh
sudo pacman -S fx
```

  Evidence: Arch Linux sync databases: fx from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install fx
```

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

### Windows

- Scoop (92%):

```sh
scoop install main/fx
```

  Evidence: Scoop official bucket manifest trees: bucket/fx.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:fx
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/fx>
- **Version:** 39.2.0
- **Source summary:** Terminal JSON viewer
- **Homepage:** <https://fx.wtf>
- **Repository:** <https://github.com/antonmedv/fx>
- **Upstream docs:** <https://fx.wtf/>
- **License:** MIT
- **Source archive:** <https://github.com/antonmedv/fx/archive/refs/tags/39.2.0.tar.gz>
- **Generated:** 2026-07-09T07:20:21+00:00

## Executables

- fx (cli)
- fx (alias)

## Build dependencies

- go

## 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-09
- Package-manager version: 39.2.0
- Local data: ok
- Upstream repository: https://github.com/antonmedv/fx
- Upstream latest detected: 39.2.0 (current)
- info: No package-manager update timestamp was available.
## Project history and usage

fx is a terminal JSON viewer and processor that combines an interactive TUI with a JavaScript-powered command-line transformation model. Its current official site describes it as a CLI for JSON that can show JSON interactively, transform input with JavaScript, process streaming JSON, and also handle YAML and TOML.

### Project history

The GitHub repository was created in January 2018, and GitHub Releases show 1.0.3 published the next day. The project is styled as f(x) in its README and documentation, with the docs explaining the name as the idea of applying a function to input data.

fx is now written in Go and embeds the goja JavaScript engine. Its release checklist shows a multi-channel distribution workflow: version bumps in the Go source, Snapcraft metadata, and npm package metadata, followed by npm publication, GitHub Actions for brew, snap, and Docker, and binary uploads to GitHub Releases.

### Adoption history

fx fits into the post-jq wave of terminal JSON tools: it keeps JSON exploration in the terminal but adds a navigable interface, path suggestions, regex search, printing selected values to stdout, and JavaScript expressions instead of a separate query DSL. Supplied package-manager facts list packaging across Homebrew, apk, MacPorts, Nix, Arch, Scoop, and zypper.

### How it is used

Typical use is either `fx data.json` or piping JSON into `fx` for interactive browsing. In processing mode, arguments are JavaScript functions or shorthand expressions such as `.name`, and input data flows through each expression in sequence. The docs also describe streaming mode for line-delimited or concatenated JSON and a slurp option for collective array processing.

### Why package nerds care

Package maintainers care about fx because it ships as a single Go-based terminal binary while still exposing JavaScript as the transformation language. It is a representative modern CLI package that crosses TUI browsing, JSON pretty-printing, shell pipelines, npm distribution, binary releases, Homebrew, Snap, and Docker.

### Timeline

- 2018: GitHub repository created.
- 2018: GitHub Release 1.0.3 published.
- 2025: GitHub Release 39.2.0 published.
- 2026: Repository metadata showed continued activity.

### Related projects

- The upstream README lists other Anton Medvedev terminal projects as related work: walk, howto, and countdown. In everyday package-manager context, fx is often evaluated near jq-style JSON processors, but the official sources emphasize fx's own TUI and JavaScript processing model rather than positioning it as a jq clone.

### Sources

- <https://api.github.com/repos/antonmedv/fx>
- <https://fx.wtf/>
- <https://fx.wtf/getting-started>
- <https://github.com/antonmedv/fx>
- <https://github.com/antonmedv/fx/releases>
- <https://raw.githubusercontent.com/antonmedv/fx/master/README.md>
- <https://raw.githubusercontent.com/antonmedv/fx/master/RELEASE.md>


## 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:** fx
- **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

- Nix - fx: normalized package name match | nixpkgs package indexes: pkgs/by-name/fx/fx/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - fx - 39.2.0-r6: normalized package name match | Alpine Linux edge package indexes: fx from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Command-line tool and terminal JSON viewer | https://github.com/antonmedv/fx
- apk - fx-doc - 39.2.0-r6: normalized package name match | Alpine Linux edge package indexes: fx-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Command-line tool and terminal JSON viewer (documentation) | https://github.com/antonmedv/fx
- pacman - fx - 39.2.0-1: normalized package name match | Arch Linux sync databases: fx from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Command-line tool and terminal JSON viewer | https://github.com/antonmedv/fx
- zypper - fx - 39.2.0-1.4: normalized package name match | openSUSE Tumbleweed package metadata: fx from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Terminal JSON viewer | https://fx.wtf/
- MacPorts - fx: normalized package name match | MacPorts ports tree: sysutils/fx/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Scoop - main/fx: normalized package name match | Scoop official bucket manifest trees: bucket/fx.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [go](https://www.automicvault.com/pkg/brew/go/) - Build dependency declared by Homebrew.
- [jsawk](https://www.automicvault.com/pkg/brew/jsawk/) - Shares av.db curated category or tags: cli, developer-tools, javascript, json, json-tools.
- [jshon](https://www.automicvault.com/pkg/brew/jshon/) - Shares av.db curated category or tags: cli, developer-tools, json, json-tools.
- [chalk-cli](https://www.automicvault.com/pkg/brew/chalk-cli/) - Shares av.db curated category or tags: cli, developer-tools, javascript, terminal.
- [rich-cli](https://www.automicvault.com/pkg/brew/rich-cli/) - Shares av.db curated category or tags: cli, developer-tools, json, terminal.
- [chars](https://www.automicvault.com/pkg/brew/chars/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [chatblade](https://www.automicvault.com/pkg/brew/chatblade/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [ddgr](https://www.automicvault.com/pkg/brew/ddgr/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [figlet](https://www.automicvault.com/pkg/brew/figlet/) - Shares av.db curated category or tags: cli, developer-tools, terminal.
- [fx](https://www.automicvault.com/pkg/npm/fx/) - Same normalized package name appears in another local ecosystem. Shared terms: cli, fx, json, json-tools, viewer.
- [fx](https://www.automicvault.com/pkg/npm/fx/) - Same normalized package name in another local ecosystem.

## Combined YAML source

View the package source record on GitHub. [combined/fx.yml](https://github.com/automic-vault/db/blob/main/combined/fx.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
