Marta vs nnn: keyboard-first file managers compared
Marta is a GUI keyboard-first file manager; nnn is a terminal one. Both serve vim-style users. Where do they fit, and which fits your hand?
Marta and nnn appeal to the same brain: keyboard-first, vim-aware, scriptable, minimalist. They land on different sides of the GUI/TUI line. The right choice depends on where you live (GUI session or terminal session) more than on the tools themselves.
TL;DR
- Marta if you want GUI workflows on macOS with vim-influenced keyboard navigation.
- nnn if you live in a terminal, especially over SSH.
- Both if your daily work spans both contexts (most heavy users).
Side-by-side
| Axis | Marta | nnn |
|---|---|---|
| Interface | Native macOS GUI | Terminal (TUI) |
| Layout | 2 panes (dual-pane) | Single context (4 workspaces toggle) |
| Keybindings | Custom keymap, vim-influenced | Vim-style (hjkl, gg, G) |
| Plugin system | JavaScript | Shell scripts |
| Image preview | Native (Mac display) | Via plugins (chafa) |
| Footprint | ~30MB | <50KB binary |
| Cross-platform | macOS only | Linux/macOS/BSD |
| Pricing | Free / Pro $25 | Free, BSD |
Where Marta wins
Native macOS integration
Drag from Marta into Slack, email, browsers. Drag from web browser to Marta. macOS tags, Quick Look, system sharing.
nnn runs in a terminal — none of this works.
Mixed-media preview
Marta previews images natively. nnn requires plugins for image preview, and the terminal-graphics setup is fragile.
For workflows that mix code with screenshots, design assets, or AI-generated images, Marta's preview is functional out of the box.
Dual-pane visual layout
Marta shows two panes side-by-side simultaneously. nnn shows one workspace at a time (you can switch between 4 workspaces but not see them at once).
For "copy from A to B" with both visible, Marta is the natural shape.
JavaScript plugins
If you want to write a complex custom command (parse a config, query an API, build a multi-step workflow), JS is more pleasant than shell scripts. Marta's JS API is well-documented.
nnn's shell scripts win for one-liners; Marta's JS wins for anything beyond that.
macOS-aware features
Marta knows about macOS tags, Spotlight, default applications, the file association system. nnn deals with files generically.
Where nnn wins
Terminal speed
nnn is instant. There's no GUI overhead. On slow remote SSH sessions, terminal speed feels qualitatively different from any GUI.
SSH / remote workflows
nnn over SSH is a daily workflow for many sysadmins and devs. Marta can't do this — it's a Mac GUI app.
Cross-platform
nnn runs on Linux servers, macOS workstations, BSD, anywhere. Same binary, same keys. For environments where you want one tool everywhere, nnn wins.
Smaller footprint
50KB binary, <5MB memory. Runs on a Raspberry Pi or an ancient Mac without complaint.
Shell-script plugin ecosystem
The plugin ecosystem for nnn is older and broader. Shell scripts are easy to port between machines and easy to write quickly.
Workspaces (toggle between 4 contexts)
nnn's 4 keyboard-switchable workspaces (Alt+1-4) let you jump between contexts fast. Marta's panes are simultaneously visible but capped at 2.
For "I'm working on 4 things and want to flip between them" — nnn's workspaces with full-screen attention each may actually beat seeing all 4 partially.
Where they're tied
- Both serious about vim-influenced keyboard navigation.
- Both deliberately minimalist.
- Both have active small communities.
- Both free at the entry tier.
Use case routing
| Workflow | Pick |
|---|---|
| Local Mac, GUI workflow, vim-style nav | Marta |
| SSH'd into a server | nnn |
| Need to drag files into other apps | Marta |
| Cross-platform consistency | nnn |
| Quick "I want to see two folders side-by-side" | Marta |
| Quick "I want full-screen attention on one folder" | nnn |
| Complex custom workflow logic | Marta (JS plugins) |
| Quick shell-pipeline integration | nnn |
The combo most heavy users settle on
- Marta in the dock for GUI workflows
- nnn in a terminal pane (or tmux/cmux session) for terminal work
- Either Yazi or ranger as a backup for nnn (taste)
These tools don't compete; they're complementary tools for different parts of the same workflow.
Where mq-dir fits
mq-dir is a different shape than either Marta or nnn — quad-pane GUI, mac-native, religious state persistence, opinionated about parallel work. It overlaps with Marta in the "Mac GUI keyboard file manager" niche but takes a different position.
If you want native macOS feel and quad-pane parallelism, mq-dir. If you want vim purity and dual-pane heritage, Marta. If you live in terminals, nnn (or Yazi).
Verdict
Marta and nnn are not really competing — they're tools for different sides of the GUI/TUI line. Most serious developers benefit from running one of each.
If forced to pick a single tool:
- Mostly GUI workdays: Marta.
- Mostly terminal workdays: nnn.
Both are excellent at their respective positions. Both safe long-term bets in 2026.
If you're considering mq-dir as a third option for Mac-native GUI but want quad-pane (Marta is dual-pane only), check the mq-dir vs Marta post separately.
mq-dir is fully open source.
MIT licensed, zero telemetry. Read the source, file an issue, send a PR.
★ Star on GitHub →Frequently asked questions
References
- [1]
- [2]
Ready to try mq-dir?
A native quad-pane file manager built for AI multi-tasking on macOS. Free, MIT licensed, zero telemetry.
Related posts
Path Finder to mq-dir: succeeding the discontinued classic
Path Finder shipped its last build in 2023. If you're still using it, here's the practical migration to mq-dir — what transfers, what doesn't, and how to bridge the gaps.
Q-Dir to mq-dir: a Windows quad-pane refugee migration guide
If you switched from Windows + Q-Dir to Mac and missed the four panes — mq-dir is the closest spiritual successor. Here's the practical migration guide.
File managers with the best batch rename in 2026
Batch rename is the feature you need rarely but desperately when you do. The 2026 comparison of Mac file managers' batch rename capabilities.