CLI - Convert between YAML, TOML, JSON, and HCL. Preserves map order.
1,053
stars
81
commits
Go
primary language
May 15, 2026
updated
Convert between YAML, TOML, JSON, and HCL.
Preserves map order.
Format versions:
$ yj -h
Usage: yj [-][ytjcrneikhv]
Convert between YAML, TOML, JSON, and HCL.
Preserves map order.
-x[x] Convert using stdin. Valid options:
-yj, -y = YAML to JSON (default)
-yy = YAML to YAML
-yt = YAML to TOML
-yc = YAML to HCL
-tj, -t = TOML to JSON
-ty = TOML to YAML
-tt = TOML to TOML
-tc = TOML to HCL
-jj = JSON to JSON
-jy, -r = JSON to YAML
-jt = JSON to TOML
-jc = JSON to HCL
-cy = HCL to YAML
-ct = HCL to TOML
-cj, -c = HCL to JSON
-cc = HCL to HCL
-n Do not covert inf, -inf, and NaN to/from strings (YAML or TOML only)
-e Escape HTML (JSON out only)
-i Indent output (JSON or TOML out only)
-k Attempt to parse keys as objects or numeric types (YAML out only)
-h Show this help message
-v Show version
The yj CLI is available via Homebrew:
brew install yj
Binaries for macOS, Linux, and Windows are attached to each release.
yj is also available as a Docker image.
Packages contained in this repo may also be used to convert all supported data formats to a normalized tree of ordered Go objects.
See godoc for details.
NOTE: The current Go API should not be considered stable.
Go
96.6%
Shell
2.7%
CLI - Convert between YAML, TOML, JSON, and HCL. Preserves map order.
1,053
stars
81
commits
Go
primary language
May 15, 2026
updated
Convert between YAML, TOML, JSON, and HCL.
Preserves map order.
Format versions:
$ yj -h
Usage: yj [-][ytjcrneikhv]
Convert between YAML, TOML, JSON, and HCL.
Preserves map order.
-x[x] Convert using stdin. Valid options:
-yj, -y = YAML to JSON (default)
-yy = YAML to YAML
-yt = YAML to TOML
-yc = YAML to HCL
-tj, -t = TOML to JSON
-ty = TOML to YAML
-tt = TOML to TOML
-tc = TOML to HCL
-jj = JSON to JSON
-jy, -r = JSON to YAML
-jt = JSON to TOML
-jc = JSON to HCL
-cy = HCL to YAML
-ct = HCL to TOML
-cj, -c = HCL to JSON
-cc = HCL to HCL
-n Do not covert inf, -inf, and NaN to/from strings (YAML or TOML only)
-e Escape HTML (JSON out only)
-i Indent output (JSON or TOML out only)
-k Attempt to parse keys as objects or numeric types (YAML out only)
-h Show this help message
-v Show version
The yj CLI is available via Homebrew:
brew install yj
Binaries for macOS, Linux, and Windows are attached to each release.
yj is also available as a Docker image.
Packages contained in this repo may also be used to convert all supported data formats to a normalized tree of ordered Go objects.
See godoc for details.
NOTE: The current Go API should not be considered stable.
Go
96.6%
Shell
2.7%