Releases: antonmedv/fx
37.0.0
Fx is terminal JSON viewer & processor.
In this release:
🔢 Go To Line (Vim-Style)
Quickly jump to any line using :42
syntax.

🧮 JSON Parsing Enhancements
- Support for special values:
Infinity
,-Infinity
,NaN
- New
--strict
flag to enforce standard-compliant JSON only

🛠 Fixes & Improvements
- Corrected object node previews
- More precise error messages
$ fx .anton/events.json --strict
Unexpected character 'I' on line 290519.
"confidence": Infinity,
..................^
🏃♂️ Data Utilities
- Added
walk
function for recursive data transformation:
walk(x => typeof x === "number" ? x.toString() : x)
- The
map
function now supports object mapping.
36.0.4
This update introduces several small but meaningful improvements to fx:
- When opening an empty file, the spinner now stops immediately—making it clear that the file is, in fact, empty.
No more pointless spinning. 🙂 - I’ve removed a confusing indexing label from the status bar when loading large files.
- The spinner has been relocated to the right corner for better clarity.
- Additionally, in streaming mode, the spinner will now keep spinning until the end of the file is reached.

36.0.3
36.0.2
36.0.1
36.0.0
Fx is terminal JSON viewer & processor.
In this release:
- Added support JSON streaming in interactive mode!
- Added autoscroll to bottom of new incoming JSON messages.
- Improved JSON parsing speed and memory usage!
- Opening huge JSON files ~4GB now takes half the mem size!
- Fixed jumps with J/K over wrapped strings.
- Fixed pageup and pagedown movements. Now they work same as in vim!
- Added loading spinner for big JSON files.
- Added better expand/collapse e/E support with multiple JSON objects.
- Added better previews of collapsed nodes.
- Fixed support for multiple documents in single YAML file.
- Added
FX_COLLAPSED=1
option to start in collapsed view. - Added support to display plain text in interactive mode.
- Added support for HTTP headers with
curl -i ... | fx
.
- Added support for HTTP headers with
- Added base64 images preview.
- Added jumping back/forward in locations history with [ ] keys.
- Added goto symbol with @ key.
- Added s key to show/hide array/object sizes.
- Added go to ref with ctrl+g.
- Added line numbers with option
FX_LINE_NUMBERS
.- Added scroll percentage in status bar.
- Added edit-in-place
save
function!fx example.json 'x.name = x.name.toUpperCase(), x' save
35.0.0
Fx is terminal JSON viewer & processor.
In this release:
34.0.0
33.0.0
32.0.0
YAML support
Now you can use fx to view and process YAML files!
fx example.yaml
# or
cat example.yaml | fx --yaml
Fx will automatically convert YAML to JSON. The npm version of fx also supports YAML and provides YAML.parse
and YAML.stringify
functions.
npx fx example.yaml '.jobs.test.steps' YAML.stringify
Expand with 1
-9
keys
Now you can use 1
-9
keys to expand nested objects and arrays up to nth level.
Keybindings help
Type ?
to see all available keybindings. Press ?
again to close the help.
Preview mode
Type p
to toggle preview mode. In preview mode, strings are unquoted and newlines are preserved.
This is useful when you want to see content of a long string.
Print to stdout
Type P
to print the currently selected value to stdout. This is useful when you want to pipe the output of fx to another command.
curl https://fx.wtf/example.json | fx > part.json
Docker image
Now you can use fx as a Docker image.
docker run -it --rm -v .:/data:ro antonmedv/fx file.json