Terminal file browser with image preview, written in Rust.
FileView was built for people who want more built-in functionality than a
deliberately minimal file manager such as nnn offers, while keeping the same
spirit of simplicity and speed. Install it, run fv, and start browsing without
writing a configuration first.
The goal is not to be the smallest file manager at any cost. It is to make previews, Git status, search, and image support immediately useful without making the basic workflow feel heavy. See the performance comparison for measurements against other terminal file managers and the test limitations.
- Auto image preview (Kitty, iTerm2, Sixel, Halfblocks)
- 2.2ms startup, ~8MB memory
- Git status, syntax highlighting, PDF preview, fuzzy finder
- Vim keybindings, mouse support, Lua plugins
- Live reflection of
fv --mcp-serveractivity in the TUI (details)
cargo install fileview
fvChafa image support: cargo install fileview --features chafa
Speed-optimized build: cargo install fileview --profile release-fast
Slim build (drops arboard clipboard, mlua Lua plugin,
zip / tar / flate2 archive, and tiktoken-rs / petgraph
AI helper dependencies): cargo install fileview --no-default-features
Pick individual features: cargo install fileview --no-default-features --features ai,clipboard,lua,archive
Your terminal is auto-detected:
| Terminal | Protocol |
|---|---|
| Kitty / Ghostty / Konsole | Kitty Graphics |
| iTerm2 / WezTerm / Warp | iTerm2 Inline |
| Foot / Windows Terminal | Sixel |
| VS Code / Alacritty | Halfblocks |
| Key | Action |
|---|---|
j/k |
Navigate up/down |
h/l |
Collapse/expand |
g/G |
Top/bottom |
Space |
Toggle mark |
/ |
Search |
Ctrl+P |
Fuzzy finder |
P |
Preview panel |
q |
Quit |
See docs/KEYBINDINGS.md for the full list.
A few non-interactive flags for use from scripts and AI agents:
fv --tokens README.md # cl100k_base token estimate (one integer to stdout)
fv --snapshot-create base # capture working tree manifest to .fileview/snapshots/
fv --snapshot-diff base # + added / - removed / M modified since snapshot
fv --watch path/to/file # block until the file changes, print path, exit
fv --watch path/to/file --watch-timeout-secs 5See docs/CLAUDE_CODE.md for the full list.
FileView includes an MCP server for Claude Code (fv --mcp-server).
{
"mcpServers": {
"fileview": {
"command": "fv",
"args": ["--mcp-server"]
}
}
}Details: docs/CLAUDE_CODE.md
MIT
