14 releases (6 stable)

Uses new Rust 2024

2.1.0 Jan 1, 2026
2.0.0 Dec 18, 2025
1.2.1 Sep 25, 2025
1.1.0 Jun 30, 2025
0.1.2 Jul 15, 2022

#14 in #convert-json

Apache-2.0

1MB
755 lines

Contains (MSI installer, 1MB) wix/Microsoft_VC142_CRT_x64.msm

convfmt

Actions Status Coverage badge dependency status Crates.io

convfmt is a command line tool in rust which can convert between formats:

Usage:

$ convfmt --help
cli tool which can convert different formats

Usage: convfmt [OPTIONS] --from <FROM> --to <TO>

Options:
  -f, --from <FROM>  [possible values: bson, csv, hjson, hocon, json, json5, jsonl, plist, ron, toml, toon, xml, yaml]
  -t, --to <TO>      [possible values: bson, csv, hjson, hocon, json, json5, jsonl, plist, ron, toml, toon, xml, yaml]
  -c, --compact
  -h, --help         Print help
  -V, --version      Print version
$ cat cfg.yml | convfmt -f yaml -t toml > cfg.toml
$ convfmt -f json -t json < compact.json > pretty.json
$ curl https://api.github.com/users/oriontvv | convfmt -f json -t json5 > api.json5

By default convfmt uses pretty format. Can't be compacted with --compact option. Beware of nulls, some formats don't support them (e.g. toml).

Installation:

cargo install cargo-binstall && cargo binstall convfmt
  • Build from sources with rust
cargo install convfmt

Dependencies

~20MB
~358K SLoC