- Icon and list views with sorting, expandable folders, breadcrumbs, hidden files, favorites, and type-to-jump navigation.
- File operations including new folders and text files, rename, copy, cut, paste, duplicate, internal drag and drop, delete/trash, and multi-select.
- Undo for rename, paste, drag/move, and recoverable trash operations.
- Transfer progress and cancel for longer copies and cross-volume moves, with rollback on cancel or failure.
- Zip archives on macOS and Android: compress a selection into a zip beside it, and extract one in place. Both report progress, can be cancelled, and can be undone.
- Quick Look for folders, images, audio, video, Markdown, source/text files, links, and PDFs.
- Audio player that keeps playing while you browse. The folder becomes the queue in chapter order, positions are remembered per file with a run-up scaled to how long you were away, and a book reopens on the chapter you were in. Playback speed, a sleep timer, and a chapter list. On Android it plays with the screen off, with lock-screen and notification controls, headphone buttons, and the right behaviour for calls and unplugged headphones. See docs/audio.md.
- PDF reader with single-page or spread layout, fit-to-page/width, keyboard/touch navigation, full screen, and remembered reading position.
- Image editing with rectangle and magic-wand selection, crop, delete to transparency, fill, rotate, mirror, and resize. Markup adds boxes, ovals, lines, arrows, freehand, highlighter, and text. Save a copy as JPEG, PNG, or WebP — or give a target file size and let Fiddler find the settings that meet it.
- Text editing inside Fiddler. On desktop, Open uses the system handler when one exists and falls back to the editor when it does not.
- Search across names and paths, plus content search for text files. Filters include forms such as
ext:tsandkind:dir. - Git-aware browsing with branch names, status dots, ignored-file state, and linked worktrees on desktop.
- Nearby devices on macOS and Android. Pair before browsing, then manage or revoke saved access later.
- Android over USB on macOS using MTP, including thumbnails for media on the device.
- Mounted volumes in the sidebar, including eject support where the platform allows it.
- Platform sharing and file handoff on native builds, including Android share/open-with handling and APK installation.
- Session restore for the last local folder and view preferences.
- Keyboard and touch support across desktop, DeX, phone, and browser layouts.
The shots below are the web build running its demo filesystem, so everything in them is the app doing the actual work — the same React front end the Mac and Android builds ship. The device rows in the sidebar are the browser build's labelled demonstration; on macOS and Android they are a real cable and a real network.
Fiddler discovers linked worktrees and shows them with the repository they belong to, even when the worktree lives outside the main repository folder.
Open files.c0di.com.
The web build starts with a demo filesystem. In Chromium-based browsers, use Open Folder… to grant read/write access to a real local folder. You can also drag files or folders into the app.
The web build is static and does not upload opened files to a server. It does not provide real Git status, USB access, mounted volumes, or real nearby-device networking.
Fiddler supports macOS 11 and newer.
To run from source, install Node.js, Rust, and the normal Tauri macOS prerequisites, then:
npm ci
npm run tauri -- devBuild the native app with:
npm run tauri -- buildThe Android build supports touch, keyboard, and pointer input. Long-press starts selection on touch devices; after that, tap additional items to toggle them. Share uses Android's system chooser, and incoming files from Open with/share flows open in Fiddler.
Build a debug ARM64 APK with a configured Tauri Android toolchain:
npm ci
npm run tauri -- android build --debug --target aarch64Android deletions are permanent and require confirmation because Android does not provide Fiddler with a system Trash.
| Action | Shortcut |
|---|---|
| Icon / list view | ⌘1 / ⌘2 |
| Back / forward / enclosing folder | ⌘[ / ⌘] / ⌘↑ |
| Quick Look | Space |
| Toggle preview pane | ⇧⌘P |
| Show hidden files | ⇧⌘. |
| Search | ⌘F |
| Copy / cut / paste | ⌘C / ⌘X / ⌘V |
| Duplicate / undo | ⌘D / ⌘Z |
| New folder / text file | ⇧⌘N / ⌘N |
| Move to Trash | ⌘⌫ |
| Refresh | F5 or ⌘R |
On Android and the web, use Ctrl where the interface shows ⌘. With a DeX keyboard, Enter opens, F2 renames, Delete deletes, and Alt+← / Alt+→ move through history.
Right-click an item for file actions on pointer devices. Long-press on touch devices to select and access the same actions.
| Action | Shortcut |
|---|---|
| Play / pause | Space in the player, or the keyboard's play key |
| Skip back / forward | ← / → on the timeline |
| Previous / next chapter | The media keys, or the buttons |
| Close the player | Esc |
The bar at the bottom stays put while you browse. Tap it for the full screen, where the speed, the sleep timer and the chapter list live. Skip intervals default to 15 seconds back and 30 forward and can be changed beside the speed.
On Android, playback continues with the screen off and the notification carries skip back, play/pause and skip forward; swiping that notification away puts the book down and keeps your place.
| Action | Shortcut |
|---|---|
| Previous / next page | ← / →, PageUp / PageDown, or Space |
| First / last page | Home / End |
| Full screen | F |
| Fit page / width | W |
| Single page / spread | D |
| Exit full screen / close | Esc |
Touch users can swipe or tap page-turn areas to move through a PDF.
Run the web app locally:
npm ci
npm run dev:webBuild the web app:
npm run build:webRun the TypeScript tests:
npm testRun the Rust tests:
cd src-tauri
cargo testDeploy the web build to the configured Cloudflare custom domain:
npm run deploy- Archives are zip only.
.tar.gz,.7zand.rarkeep their icons and their previews, but Fiddler will not unpack them; password-protected zips are left to the system. The web build has no archive support at all. - The audio player reads no tags: chapter names come from filenames and the cover from a picture beside them. Chapter marks inside a single long
.m4bare not read either, so one file plays as one recording. - No tabs or column view yet.
- Drag and drop works inside Fiddler, but native drag in/out of Finder is not implemented yet.
- The browser build cannot provide native Git, USB/MTP, volume, or real nearby-device features.










