An offline-first Windows 11 file manager with dual-pane browsing, Folder DNA, and safer copy previews.
Free · Open source · Offline-first · Windows 11
Get a preview build · See what works · Explore the vision · Contribute · Engineering standards
Warning
Meridian is an early development preview, not a finished release. Automated Windows x64/ARM64 builds and core tests exist, but hands-on runtime, installer, and accessibility testing is incomplete. Back up important data and start with disposable test folders. Preview installers are unsigned.
| Your goal | Next step |
|---|---|
| Try a Windows preview | Follow Try Meridian for CI artifacts, architecture selection, and launch requirements. |
| See implemented features | Read What you can use today; future ideas are listed separately. |
| Understand a folder | Explore Folder DNA, based on the loaded directory listing. |
| Collect files before copying | Try Drop Shelf and Operation Simulator using disposable test files. |
| Build or contribute | Use the source build guide and contribution guidance. |
Preview scope: Windows 11, C#/.NET 10, and WinUI 3. Automated x64/ARM64 packaging exists; hands-on runtime and accessibility acceptance remain incomplete. See verification status before relying on a workflow.
Most file managers answer one question: Where is my file?
Meridian is being built to answer more:
- What do I have? See a folder's makeup without opening every file.
- How is it connected? Work across locations without losing your context.
- What will happen? Understand the consequences of an operation before making changes.
- Can I do this again? Eventually turn repetitive work into understandable, reusable workflows.
The goal is not to clone File Explorer with more buttons. It's to make everyday file work clearer, more capable, and safer.
These features are implemented on the main development branch. They are not a claim of complete real-device validation.
| Experience | What it does |
|---|---|
| Two-pane workspace | Browse two folders side by side, navigate history, open items, and refresh without arranging multiple windows. |
| Session restore | The two panes reopen where you left them; bookmarks are restored where paths are available. |
| Instant filtering | Filter either pane's current listing by filename or type, independently and without scanning the whole drive. The reusable core filter can also match full paths, but the pane UI deliberately excludes that option. |
| Independent sorting | Sort each pane by name, type, size, or modified date, ascending or descending. |
| Keyboard-first navigation | Switch panes, focus location or filter fields, refresh, and navigate history with shortcuts. |
| Folder DNA — first signature experience | See a quick profile of the active folder: file/folder counts, known file sizes, date range, and largest type groups. |
| Drop Shelf | Collect paths from unrelated folders without moving the originals; remove, clear, or show the location of a collected item. The shelf is in-memory and does not survive an app restart. |
| Operation Simulator + confirmed batch copy | Preview shelf items against the active pane’s destination folder, review ready/blocked counts and collisions, then explicitly confirm the batch; it runs through the Transfers queue. |
| Transfers queue | Copy and Move run as queued jobs in a Transfers strip below the panes: progress with speed and time left, Pause/Resume/Cancel, and a per-file choice (Replace / Keep both / Skip) whenever a name already exists. Jobs are saved as they run, so a job left unfinished reappears — paused, never auto-restarted — next time Meridian opens. |
| Transfer History + undo | Finished transfers are recorded in the strip's History view. A finished Copy or Move can be undone from there when the files it produced are still exactly as the transfer left them; when undo is not safe, the button's tooltip says why. |
| Drag and drop | Drag selected items onto the other pane, a folder row, a folder in the folder tree, a sidebar location, or a Home drive/folder card. Dropping moves on the same volume and copies across volumes; Ctrl forces Copy and Shift forces Move, and the drag caption names the operation and destination before you let go. Files dragged in from Explorer work the same way. |
| Sidebar | The sidebar runs Drives first — each with a slim usage bar, its percent used, and its total size — then Places (Home, Desktop, Documents, Downloads, Music, Pictures, Videos), then Favorites; Settings stays pinned at the bottom. |
| Favorites groups | Sidebar favorites can be filed into named groups: right-click a favorite → Move to group to file it, create a group, or move it back to the ungrouped favorites. Group headers collapse and expand (remembered between sessions); right-click a header to create, rename, or delete a group — deleting a group never deletes its favorites, which return to the ungrouped list. Favorites saved before groups existed simply appear ungrouped. |
| Folder tree | Each pane has an optional folder tree (the Tree toggle beside the layout buttons): a ~260px column rooted at the current drive, folders only, loaded as you expand it. It follows the pane — expanding to and selecting the current folder after every navigation — selecting a folder in the tree opens it in the pane, and it accepts drops like the other targets. On/off is remembered per pane. |
| Drive inspection and eject | Right-click a sidebar drive → Inspect drive… for its volume label, type, file system, capacity, and free space, exactly as Windows reports them. Removable drives also offer Eject, which asks Windows to safely remove the drive and reports in plain words when a program is still using it. |
| Live folder refresh | An open folder refreshes itself when its contents change on disk — a file saved by an editor, created by another program, renamed, or deleted — without pressing F5. Watching is done by the bundled WatchKit library (watch_kit.dll, shipped beside Meridian.exe), using native Windows change notifications with an automatic polling fallback; changes are coalesced, so a burst of activity refreshes the pane once. If the library is unavailable (including the ARM64 build, which carries no x64 DLL), folders simply behave as before, with manual refresh. While a transfer job is running, watch refreshes stand down and the panes refresh when the job finishes, as they already did. |
| Image thumbnails | In Grid and Tiles views, thumbnails for BMP, PPM, PNG, and JPEG files are decoded by the bundled ThumbKit library (thumb_kit.dll, shipped beside Meridian.exe) and cached on disk under %LOCALAPPDATA%\Meridian\thumbcache, so they survive restarts. Every other format — and any file ThumbKit cannot decode, such as a progressive JPEG — uses the Windows shell thumbnails exactly as before. |
| Breadcrumb path bar | Each pane's path is a breadcrumb bar: one button per level from the drive root (or network share) down to the current folder — click any level to jump there. Clicking the empty stretch of the bar, or pressing Ctrl+L, swaps in a text box holding the full path: Enter opens it, Escape returns to the breadcrumbs. Long folder names compress with an ellipsis and show their full path as a tooltip. Segments accept drops (onto that level's folder); the bar's empty stretch drops into the current folder. |
| Preview block | Each pane has a preview block at its bottom, replacing the old right-side details panel: a large preview of the selected item (an image preview, the opening of a text file, or a folder treatment with its measured size and counts), its name, type, created and modified dates, and size, plus photo details and the "Opens in" app where they exist. With nothing selected it describes the current folder. Its header line always shows the folder's item count and total size — folders count only once measured, never walked just for the line — and the selection's count and size while anything is selected. Each pane's block collapses on its own chevron and remembers its state; a details panel you had open becomes both blocks expanded. |
| File hash | Tools → File hash… shows the SHA-256 fingerprint of each selected file, with a copy button per file and a compare field that reports "Matches " or "Does not match" for a hash you paste. |
| Conservative file actions | Copy, move, rename, create folders, view basic properties, and request Recycle Bin deletion. |
| Universal Viewer | Preview text (UTF-8/UTF-16), hex, and images, and play audio/video with Windows media controls and no autoplay. Reads are bounded and read-only; playback behavior is not yet verified on real devices. |
| Archives | Inspect ZIP/TAR/TGZ contents read-only, create an archive from selected files and folders, or extract into a new no-overwrite folder under entry-policy and size limits, with cancellation. |
| TimeVault (read-only) | Discover existing Windows shadow copies and list a snapshot's version of the current folder. Discovery only — no recovery operations, and real VSS access is unverified. |
| Windows preview packages | CI produces portable application folders and per-user installers for x64 and ARM64. |
Instead of just listing files, Meridian can describe the folder you're looking at.
Open Folder DNA to see an immediate summary of the already-loaded directory listing:
- How many immediate files and subfolders it contains
- How much space its immediate files account for
- The oldest and newest file modification dates
- Which file types contribute the most bytes
It does not recursively calculate folder sizes, hash files, or scan nested directories. That's intentional: insight shouldn't unexpectedly trigger an expensive drive-wide operation.
Working across folders no longer has to mean moving files immediately. Select an item, choose Shelf selected, then browse elsewhere and collect another. Preview shelf → active folder evaluates the entire collection against the destination shown in your active pane, identifying known conflicts without copying, moving, or deleting anything. The preview shows up to 100 individual results while counting the whole batch.
Batch copying is now available: Use Copy shelf… to recheck the batch and explicitly confirm the destination and item count. Copying runs as a job in the Transfers queue (see below), refuses known preflight blockers, and does not overwrite existing destination files. Originals remain in place. If a later item fails, earlier successful copies are not automatically rolled back. The shelf does not persist between launches. Preview results are advisory; the transfer engine rechecks the filesystem at execution time. Progress appears in the Transfers strip, and Cancel batch cancels the queued shelf job (or the preparation phase before it starts). A cancelled batch can leave earlier completed copies in the destination; it does not automatically roll them back.
Copy and Move are queued as jobs in the Transfers strip that appears below the panes. Jobs run one at a time, in the order they were added. Each job shows its progress, speed, and estimated time left, and can be paused (progress so far is kept), resumed, or cancelled (files already finished stay in place; a half-copied file is removed). While a job runs, the status bar shows a compact summary. The strip can be collapsed, and Meridian remembers that choice.
When a destination name already exists, what happens is your Settings choice under When a name already exists: Ask me each time (the job waits in the strip and you choose Replace / Keep both / Skip per file, with an "Apply to all remaining" option), Skip the item, Keep both (the incoming file gets a numbered name), Replace the existing file, or Replace only if the incoming file is newer. Settings also offers Verify copies with a checksum (slower): each copied file is read back and its SHA-256 compared with the original before the copy is put in place; a copy that does not match is removed and the original is kept.
Finished jobs move to the strip's History view, most recent first. From there, a finished Copy or Move can often be undone — undoing a copy deletes exactly the files that copy created (folders it created are left in place), and undoing a move moves the files back — but only while those files are unchanged since the transfer; when undo is not offered, the Undo button's tooltip explains why. Deletes are never undoable from History. The queue and history are stored locally in %LOCALAPPDATA%\Meridian (transfer-queue.json and transfer-history.json); history keeps the most recent 100 finished jobs.
The Universal Viewer includes bounded text/hex preview, image decoding, and native Windows audio/video controls without autoplay. It passes Windows x64/ARM64 compilation; actual playback and interactive preview behavior remain unverified; PDF rendering and stronger decoder safeguards remain incomplete.
LEFT PANE RIGHT PANE
┌────────────────────┐ ┌────────────────────┐
│ Downloads │ │ Project │
│ │ │ │
│ archive.zip │ Copy → │ assets/ │
│ design.png │ Move → │ documents/ │
│ notes.txt │ │ source/ │
└────────────────────┘ └────────────────────┘
Filter · Sort Filter · Sort
Bookmarks + restored session
Conceptual text diagram, not a screenshot of the running application.
The ideas below define the direction of the project. Unless explicitly listed as implemented above, they are not yet available on the main branch. Some may exist only in open pull requests.
| Signature idea | The experience we're working toward |
|---|---|
| Drop Shelf improvements | Build on the implemented temporary collection with persistence options, clearer batch management, and stronger workflow integration. |
| Operation Simulator improvements | Extend the implemented read-only copy preflight into richer previews, additional operations, and safe execution with explicit confirmation. |
| Smart Collections | Create dynamic, rule-based views without rearranging the files on disk. |
| File Time Machine | Understand recorded changes and available recovery paths, without pretending an operation log is a backup. |
| Relationship View | Discover explainable connections between files, projects, and metadata. |
| Workflow Recipes | Save understandable, reviewable sequences for repetitive tasks. |
| Adaptive navigation | Choose the best way to explore: dual pane, Miller columns, comparisons, galleries, and more. |
| Optional local intelligence | Get useful suggestions without mandatory cloud processing or silent file modifications. |
Our rule for innovation: a feature should solve a real problem, stay understandable, and earn its complexity. Speed, privacy, accessibility, and file safety matter more than spectacle.
TimeVault is in development, not a released recovery tool. It includes Windows WMI snapshot discovery, volume matching, a toolbar snapshot picker with a limited read-only folder listing, and an unconnected backend-only single-file export service. None of these features has completed real Windows VSS verification.
The proposed experience includes a full read-only Shadow Copy Explorer, a File Time Machine timeline, Recovery Studio with explicit user confirmation, snapshot-wide search, a Difference Lens for comparing versions, verified export checksums, and snapshot health diagnostics. These remain planned.
TimeVault works only when Windows exposes accessible snapshots. VSS is not a backup system: snapshots can disappear, may require elevated access, and must not be treated as guaranteed recovery points. TimeVault will not silently create, delete, or modify snapshots.
Explore the TimeVault engineering plan.
See the full innovation-first roadmap.
Requirements: Windows 11 (build 22000 or newer), x64 or ARM64. Windows 10 is not supported.
- Open the Windows CI workflow and select a successful run.
- Find Artifacts and choose the package matching your PC:
- Intel or AMD:
meridian-portable-win-x64ormeridian-installer-win-x64 - Windows on ARM:
meridian-portable-win-arm64ormeridian-installer-win-arm64
- Intel or AMD:
- Extract the downloaded artifact. Run the included installer, or launch Meridian from the extracted portable application folder.
- Open two test folders and explore. Keep independent backups of important files.
Note
GitHub may require sign-in to download workflow artifacts. CI artifacts expire (currently after 14 days). Installers are unsigned, so Windows may warn about the publisher. Only run an artifact if you trust its source. Portable mode does not yet guarantee that all settings remain beside the executable.
- No download under Artifacts? Select a completed, successful workflow run. GitHub may require sign-in, and artifacts expire after the workflow's configured retention period (currently 14 days).
- Windows displays an unknown-publisher warning? The preview installer is unsigned. Verify the repository and build provenance before deciding whether to run it; don't disable system-wide security protections.
- App does not start? Confirm Windows 11 build 22000+, choose the architecture matching your device, extract the entire portable artifact before launching
Meridian.exe, and include the OS build, architecture, artifact run URL, and exact error when reporting a bug. - A file operation fails? Check source/destination access and collisions. Meridian intentionally refuses known overwrites; after a partial batch, inspect the destination before retrying. Do not delete a
.meridian-*.partialpath before determining whether it contains recoverable data. - Portable settings? The current workspace file is stored under
%LOCALAPPDATA%\\Meridian\\workspace.json; a completely self-contained portable settings mode is not yet verified.
See known limitations and verification status, security reporting, and contributing instructions.
- Enter one folder path in the left pane and another in the right; press Enter.
- Double-click a folder to enter it, or use Back, Forward, and Up.
- Try each pane's Filter and Sort controls.
- Open Folder DNA to understand the current folder.
- Add a few disposable files from different locations with Shelf selected, then use Preview shelf → active folder to inspect potential conflicts without changing anything.
- Select a disposable test file and try Copy L → R or Copy R → L.
- Save frequently used locations with bookmarks or a new workspace tab.
| Shortcut | Action |
|---|---|
F5 |
Refresh both panes |
F6 |
Switch active pane |
Ctrl+L |
Type a path in the active pane (replaces its breadcrumb bar until Enter or Escape) |
Ctrl+F |
Focus the active pane's filter |
Alt+Left / Alt+Right |
Back / forward in the active pane |
Alt+Up |
Go to the parent folder |
These are current shortcuts, not a claim that configurable key bindings or a universal command palette are implemented.
Meridian is designed around conservative defaults, not irreversible surprises.
| Current behavior | What to know |
|---|---|
| Name collisions follow your setting | Copy and move use the Settings choice for names that already exist: Ask (the default), Skip, Keep both, Replace, or Replace if newer. Nothing is overwritten unless the setting — or your per-file choice while Ask is on — says so. |
| Staged copying | Copy writes to temporary .meridian-*.partial paths before finalizing. Cleanup is attempted after errors, but is not guaranteed. |
| Transfer cancellation | Cancelling a transfer keeps files already finished and removes the half-copied staging file; cleanup can still fail. |
| Recycle Bin requests | Delete asks Windows to use the Recycle Bin after confirmation. Availability and recovery vary by filesystem and location. |
| No automatic elevation | Meridian operates using the current user's access rights. |
| Local-first design | No required account, advertising, or telemetry. |
Important limitations: Undo covers only finished Copy and Move transfers recorded in Transfer History, and only while their results are unchanged; there is no universal undo engine, automatic restore point, dedicated audit log, or guaranteed transactional rollback. Post-copy checksum verification is available as a Settings option and is off by default. Cross-volume moves copy first and then remove the source; if removal fails, both copies may remain. Reparse-point and filesystem edge cases still require additional validation.
An Operation Simulator preview is not a filesystem lock or guarantee—conditions can change between preview and execution. The underlying operation must still enforce its safety rules.
For detailed risks and verification requirements, see the threat model and release gate.
Meridian uses C#, .NET 10, WinUI 3, and the Windows App SDK.
On a Windows development machine, install the .NET 10 SDK and the WinUI 3 / Windows App SDK prerequisites. From the repository root in PowerShell:
./scripts/test.ps1
./scripts/build.ps1 -Configuration Release -Runtime win-x64
# To cross-publish for Windows on ARM (native device testing still required):
./scripts/build.ps1 -Configuration Release -Runtime win-arm64Build output is published under:
src/Meridian.App/bin/<x64|ARM64>/Release/net10.0-windows10.0.22000.0/<win-x64|win-arm64>/publish/
Automated builds are not a substitute for testing actual devices, Windows shell behavior, or installation and removal.
- Installer: Use Settings → Apps → Installed apps or the installed uninstaller, where available. Full uninstall verification is still pending.
- Portable package: Close Meridian and delete the extracted application folder. Some settings may remain in per-user application data.
- Deleted a file? Check the Windows Recycle Bin; restoration is not guaranteed.
- Copied or moved something? Check Transfer History in the Transfers strip — many finished copies and moves can be undone from there while their results are unchanged. Renames have no undo; inspect both locations before manually reversing one.
- Copy failed? Check for
.meridian-*.partialleftovers; verify contents and that no operation is using them before removing anything. - Startup failed? Check
%LOCALAPPDATA%\Meridian\last-error.logif present and keep the complete published folder, includingMeridian.pri. - Settings/privacy:
%LOCALAPPDATA%\Meridian\workspace.jsonstores paths, bookmark/tab labels and active-tab selection. Portable copies also use this location. Diagnostics can contain paths; see the user guide.
Uninstalling Meridian does not reverse file operations.
Author & Principal Architect: Sean Shaffer
Contact & security inquiries: seanshaffer88@proton.me
Repository & portfolio: github.com/SeanShaffer88
Optional project support: Buy Me a Coffee
Sponsorship is voluntary and does not affect Meridian's open-source license, access to features, or security-report handling. For sensitive vulnerability reports, use the contact email rather than posting exploit details in a public issue.
Meridian is MIT-licensed, free, and open source. The most useful contributions right now are reproducible bug reports, accessibility feedback, real Windows 11 x64/ARM64 testing, and carefully scoped pull requests.
Start with the roadmap, architecture, threat model, and release checklist. See CHANGELOG.md for recorded changes and CREDITS.md for third-party acknowledgments.
Have an unconventional idea that makes working with files meaningfully better? Open a focused issue describing the workflow, proposed behavior, and important safety cases.
Meridian · Your files. A better way to think about them.