OTree is a terminal user interface for viewing structured data as an interactive tree. It supports JSON, YAML, TOML and XML files, making deeply nested documents easier to explore from the terminal.
The interface combines a tree overview with a data view and provides navigation, filtering, syntax highlighting and mouse support. Its colours and key bindings can be customised through a configuration file.
This is free and open source software.
Key Features
- View JSON files as interactive trees.
- View YAML files.
- View TOML files.
- View XML files.
- Tree overview for navigating nested data.
- Separate data block for viewing selected content.
- Change the selected item to the current root.
- Return to the previous root.
- Expand individual tree items.
- Expand all items.
- Close all expanded items.
- Filter items.
- Highlight filtering keywords.
- Syntax highlighting in the data view.
- Copy selected content to the clipboard.
- Open selected items in an external editor in read-only mode.
- Mouse click and scrolling support.
- Customisable colours and key bindings.
Website: github.com/fioncat/otree
Support:
Developer: wenqian
License: MIT License

OTree is written in Rust. Learn Rust with our recommended free books and free tutorials.
Related Software
| JSON Tools | |
|---|---|
| jq | Lightweight and flexible JSON processor. It's like sed for JSON |
| fx | JSON viewer with streaming and mouse support |
| jaq | jq clone focused on correctness, speed, and simplicity. |
| gron | Transforms JSON into discrete assignments to make it easier to grep |
| gojq | Pure Go implementation of jq |
| jless | Command-line JSON viewer written in Rust |
| jnv | Navigates JSON offering a viewer and filter editor |
| JSON Editor | View, edit, format, and validate JSON |
| jid | JSON incremental digger by using filtering queries |
| jo | Small utility to create JSON objects |
| faq | Billed as a more flexible jq supporting additional formats |
| jello | Filter JSON and JSON Lines data with Python syntax |
| jq but an interoperable configuration format transcoder | |
| json-tui | JSON terminal UI |
| jiq | Interactive JSON query tool |
| emuto | Small language for manipulating and restructuring JSON and other data |
| svelte-jsoneditor | View, edit, format, transform, and validate JSON |
| qo | Query JSON, CSV, and TSV files using SQL |
| Janice | Desktop app for viewing large JSON files |
| unqery | Query and transform JSON data |
| Twig | Terminal JSON viewer and YAML viewer |
| jtc | Extract, manipulate and transform source JSON |
| pyfx | Python-native TUI JSON viewer |
| kirill | JSON validator |
| jshon | Parses, reads and creates JSON. It's designed to be as usable as possible |
| jsawk | Like awk, but for JSON |
| jqp | TUI playground to experiment with jq |
Read our verdict in the software roundup.
| Alternatives to jq | |
|---|---|
| fx | JavaScript Object Notation (JSON) viewer with streaming and mouse support |
| gojq | Pure Go implementation of jq |
| jello | Filter JSON and JSON Lines data with Python syntax |
| jless | Command-line JSON viewer written in Rust |
| emuto | Small language for manipulating and restructuring JSON and other data files |
| unqery | Query and transform JSON data |
| htmlq | Like jq but for HTML |
| faq | Billed as a more flexible jq supporting additional formats |
| jaq | jq clone focused on correctness, speed, and simplicity |
| Interoperable configuration format transcoder with jq query syntax | |
Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk. You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more. Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form. |


Please read our Comment Policy before commenting.