Repository navigation
Image and PDF Preview
Click an image or a PDF in the Files panel, or open one with Search Everywhere, and it opens in a preview tab instead of the "Binary file, not shown" message. In a diff, a changed image or PDF shows its old and new version side by side.

An image fitted to the tab, with the zoom buttons, its size in pixels and the file size.
- Images: PNG, JPEG, GIF, WebP, BMP, ICO and AVIF.
- PDF documents.
SVG files are text, so they open in the editor, where you can change them. Their pictures show in the Markdown preview.
The image starts fitted to the tab. A small image keeps its real size; a big one shrinks until it fits. The bar above it has:
- Zoom out and Zoom in (the minus and plus buttons), with the zoom in between, such as 62%.
- Fit to fit the image in the tab again, and 100% to show it at its real size.
- The image's width and height in pixels and the file size.
- Reveal in Finder to show the file in Finder (Reveal in File Explorer on Windows).
You can also zoom with a pinch on the trackpad, or with Cmd and the mouse wheel. A checkerboard behind the image shows its transparent parts.
PDFs use the viewer built into the system: the one Safari uses on a Mac, the one Microsoft Edge uses on Windows. Scroll through the pages, select and copy text, and use its own zoom. The bar above shows the file size and Reveal in Finder, which also lets you open the document in Preview.

A PDF in its tab, shown by the built-in viewer.
When a diff in Changes, the Log, a commit tab or a compare tab is about an image or a PDF, it shows the old version on the left and the new one on the right, with the diff's labels above them.
- Each side shows its size in pixels and its file size.
- Fit, 100% and the zoom buttons change both images at once, and so do a pinch or Cmd with the mouse wheel. Fit uses one scale for both, so a bigger image looks bigger.
- Scrolling one side scrolls the other.
- A PDF shows in two viewers side by side.
- A new file says Not in and the left label (for example Not in HEAD) on the left; a deleted file says Deleted on the right.
Shelved changes and files in Git LFS keep their usual message: the shelf keeps a binary file only as a patch, and LFS diffs show the two sizes.
A preview only holds the file while its tab is on screen. When you switch to another tab or close it, the picture or document is let go, and Nibtree reads the file again when you come back. So a folder full of big photos or manuals does not fill your memory. The part of the app that shows previews is small and loads the first time you open one.
The app hands the file straight to the viewer, so it is never copied into the page. A big PDF is read in pieces as you scroll, where the viewer asks for that.
There are limits so a single file cannot use too much memory: 50 MB for an image, and 100 MB for a PDF that has to be read at once (an older version from git always does). Bigger files show a message instead.
Only files inside the folders open in the window can be previewed.
If the file changes on disk, for example after git pull or when another app saves it, the preview reloads it.
These pages are generated from docs/wiki. To correct something, open a pull request against the source file; edits made here are overwritten.
Using Nibtree
- Getting Started
- Welcome Screen
- Workspaces
- Files Panel
- File Operations
- File Icons
- Rounded Panels
- Editor and Tabs
- Pin Reorder and Wrap Tabs
- Single Tab Title
- Split Editor
- New File and Unsaved Changes
- Unload Hidden Tabs
- Editing Code
- Code Appearance
- Markdown Editor
- Image and PDF Preview
- Search Everywhere
- Recent Files
- Navigation Bar
- Find and Replace
- Changes and Commits
- Sign In Prompts
- Commit Box Layout
- Repository Actions
- Commit Options
- Ignoring Files
- Diffs
- Inline Diffs
- Staging View
- Revert a Change
- Resolving Conflicts
- Merge Tool
- Blame
- History and Log
- Merge Commits
- Branches and Tags
- Branches Popup
- Remotes
- Stashes
- Shelf
- Git Menu
- Git Dialogs
- Interactive Rebase
- Worktrees
- AI Agents
- AI Tasks
- AI Usage
- Keep Computer Awake
- Submodules
- Git LFS
- GitHub
- Git Console
- Terminal
- Terminal Features
- Scripts
- Navigation
- Menus
- Settings
- Settings Search
- Color Themes
- Settings Terminal and Automation
- Settings Files
- Updates
- Status Bar and Help
- Notifications
- Memory Use
- Clear Cache
- MCP and CLI
- Git Mergetool
- Keyboard Shortcuts
- Keyboard Shortcuts Editor
- Troubleshooting
- Troubleshooting Git
Developers
- Developer Guide
- Architecture
- Project Layout
- Backend
- How Folder Watching Works
- Folder Watching Bugs We Fixed
- How Workspace Files Work
- How the Preview Scheme Works
- Backend Services
- How Terminal Features Work
- Terminal Bugs We Fixed
- Frontend
- How the Rich Markdown Editor Works
- Rich Markdown Bugs We Fixed
- Git Menu Links
- Menu Keys and Routing
- Frontend Modules
- Blame Bugs We Fixed
- Project Color And Title Bar
- One Diff View
- Diff Bugs We Fixed
- Merge Tool Layouts
- Merge Tool Bugs We Fixed
- Color Theme Bugs We Fixed
- How the Connected Diff Works
- Rounded Panels Bugs We Fixed
- Update Bugs We Fixed
- Status Bar Bugs We Fixed
- MCP and CLI Bugs We Fixed
- Repository Actions Bugs We Fixed
- How the Changes Tab Works
- CodeMirror Patterns
- How the Cursor Works
- How Editor Features Work
- How the Path Bar Works
- Commands and Events
- Settings Reference
- Commands Workspace and Changes
- Commands Branches and Remotes
- Commands History and Extras
- Commands App and Tools
- Testing
- Test Suites
- Debugging
- Debugging with MCP
- Measuring Setting Memory
- How Terminal Memory Is Measured
- How Markdown Diagrams Work
- Releases and CI
- Publishing the Wiki
- Versioning and Changelog
- Browser Version Packages
- Browser Release Checks
- Docker Image
- Platforms and Signing
- Windows Support
- Windows Bugs We Fixed
- Windows MCP and CLI
- Docs and Screenshots
- UI Library
- UI Library MCP
- UI Library Bugs
- UI Library Migration
- Contributing
How features work
- Welcome screen
- Workspaces and folders
- Files panel
- File operations
- File icons
- Editor and tabs
- Pin, reorder and wrap tabs
- Single tab title
- Split editor
- New File and unsaved changes
- Unload hidden tabs
- Editing code
- Code appearance
- Markdown editor
- Image and PDF preview
- Search Everywhere
- Recent Files
- Navigation Bar
- Find and replace
- Changes and commits
- Sign-in prompts
- Commit box layout
- Repository actions
- Commit options
- Ignoring files
- Diffs
- Inline diffs
- Staging view
- Revert a change
- Resolving conflicts
- Merge tool
- Blame
- History and log
- Merge commits
- Commit tabs
- Branches and tags
- Branches popup
- Remotes
- Stashes
- Shelf
- Git menu
- Git dialogs
- Interactive rebase
- Worktrees
- AI agents
- AI usage
- Keep computer awake
- AI tasks
- Submodules
- Git LFS
- GitHub account
- Git Console
- Back and Forward
- Integrated terminal
- Scripts tool window
- Menu bar
- Settings
- Search in Settings
- Color themes
- Rounded panels
- Updates and release channels
- Status bar and help links
- Notifications
- Memory readout and memory log
- Clear Cache
- MCP server and command line tool
- git mergetool mode