Windows File Explorer for macOS, Linux, and Windows. Built in pure Rust with GPUI.
💾 Install
|
⚡ Features
|
🔃 Anti-Features
➡️ Manually Download The Latest Release Here, or install via one of the supported package managers:
First launch may need approval in System Settings → Privacy & Security
brew install --cask hmerritt/tap/explorercurl -fsSL https://raw.githubusercontent.com/hmerritt/explorer/master/install.sh | shscoop bucket add hmerritt https://github.com/hmerritt/scoop-bucket
scoop install hmerritt/explorer- Cross-platform macOS, Linux (Wayland/X11), and Windows
- GPU-accelerated Explorer UI (GPUI)
- Tabs
- Arrow keys navigation
- Sidebar custom pins (drag-to-pin)
- Key bindings for
everythingmost things - HTTP, HTTPS, FTP, and SFTP file URLs can be downloaded directly when pasted
-
yt-dlpintegration, supported URLs can be downloaded as videos when pasted - Native ZIP creation with Finder-style
Compressnaming and progress - A simple, functional, built-in image viewer (you can set
exploreras the default image viewer) - Archive extraction (supported archive formats including
7z,bz2,gz,rar,tar,xz,zip,zst) - Search
- Type-to-search current directory
- Recursive search (no pre-indexing like Windows, but still pretty quick)
- Git repo support
- Branch
- Outgoing/Incoming commits
- Lines of code
- Primary language used
- Github-style language makup bar
-
Alt+hoverspecial keybinding to instantly preview files- Images
- Videos
- PDF first-page preview
- Text (plain text, logs, markdown, code files, etc...)
- File properties
- Generic file/folder information
- Image preview in properties
- Video frames preview in properties
- In-depth image/video/audio metadata
- Audio spectrum analyser (inspired by Spek)
- Image EXIF tags (grouped and organised for ease-of-use)
- Removable and portable storage
- Native mounted volumes, USB mass storage, and optical media
- Android phones, cameras, and media players using MTP/PTP
- In-app copy/move, rename, folder creation, delete, thumbnails, and file opening when supported by the device
- 3D Objects that gets used as much as a welcome mat at a house that never has visitors
- File grouping that randomly appears when you didn't set it
- List, Titles, and Content file view modes that are as pointless as a screen door on a submarine
- Search that takes as long as a cross-country flight
- Context menu delays that take longer than my wife does when deciding where to eat
- Claiming it's built in 'pure rust' when really it's just a WebView wrapper with basic app logic in rust.
explorer-url-download.mp4
Downloading a file URL directly into the current directory.
Explorer stores settings as JSON and watches the file for changes while the app is running.
- macOS:
~/.config/explorer/settings.json - Linux:
${XDG_CONFIG_HOME:-~/.config}/explorer/settings.json - Windows:
%USERPROFILE%/.config/explorer/settings.json
Minimal example:
{
"app": {
"copy_verify": true,
"start": "~/Downloads"
},
"view": {
"media_preview_size": 400,
"mode": "details",
"search_mode": "detailed",
"show_extensions": true,
"show_hidden": false,
"show_folder_sizes": false
}
}app.copy_verify controls the final read-back verification for newly copied files. It defaults
to true; set it to false to skip that verification while retaining checks needed for existing
destinations, resumable copies, and safe fallback behavior.
view.search_mode controls recursive search result density. It accepts "detailed"
(the default, with the full path beneath each filename) or "compact" (single-line
rows with the full path available on hover).
Example with sidebar and contextmenu items:
{
"app": {
"start": "~/Downloads",
"ytdlp_options": []
},
"view": {
"mode": "details",
"search_mode": "detailed",
"show_extensions": true,
"show_hidden": false,
"show_folder_sizes": false
},
"sidebar": {
"hide_groups": ["network", "wsl"],
"hide_items": ["google_drive", "C:/"],
"items": ["~", "~/Downloads", "~/Documents", "~/Pictures"],
"width": 225
},
"contextmenu": [
{
"exe": "zed",
"icon": "",
"args": [],
"label": "Open with Zed",
"only": ["*directory", "*folders", "*files"]
}
]
}app.ytdlp_options is an array of command-line arguments passed to yt-dlp
when a supported video URL is pasted into a folder. For example,
["--cookies-from-browser", "firefox"]. Explorer invokes yt-dlp directly,
so each array entry is passed as one argument without shell parsing.
sidebar.hide_groups removes matching groups from the sidebar. It accepts
"pinned", "drives", "network", and "wsl"; the default is an empty array.
sidebar.hide_items removes individual non-Pinned sidebar items. It accepts the reserved
provider IDs "google_drive" and "onedrive", plus absolute filesystem or Explorer virtual
paths for drives, mapped shares, portable devices, and WSL distributions. Its default is an
empty array. The sidebar Hide context-menu action appends the corresponding value; remove it
from this array to restore the item. On Windows, visible Google Drive and OneDrive roots are
discovered from their default sync locations and appear in the Network group.
Context-menu entries can launch an external executable or invoke a built-in action. The native no-dialog ZIP action is configured as:
{
"label": "Compress",
"action": "compress",
"only": ["*file", "*folder"]
}Explorer is a Rust 2024 project using GPUI.
cargo check --locked
cargo test --locked --all-targets
cargo runUseful project docs:
- README-development.md: platform notes, local installs, and development setup.
- BENCHMARKS.md: benchmark suites for search, navigation, thumbnails, image viewing, properties, copy, and archive extraction.
- docs/assets/README.md: reproducible README screenshot workflow.
Folder icons created by kmg design - Flaticon

