Tinder for Files β Fast, fluid, and gamified cross-platform file cleanup and decluttering for Windows, macOS, and Linux.
Decluttering thousands of downloads, screenshots, recordings, and stale project files used to be tedious. FileSwipe turns folder cleaning into a fast, fluid, gamified card swiper:
- π Keep (Swipe Right /
β/D): Retain the file and remove it from your queue. - ποΈ Delete (Swipe Left /
β/A): Safely stage the file for trash (with instant physicalCtrl+ZUndo back onto disk!). - β³ Skip (Swipe Down /
β/Space): Send the file to the back of the queue to decide later.
- βοΈ Light Mode: Crisp, high-contrast porcelain background (
#f1f5f9) with pure white card surfaces and dark charcoal typography. - π Dark Mode (Default): Modern deep slate/zinc (
#0c101a) with elevated surfaces and balanced contrast. - π AMOLED / Night Mode: Pure OLED pitch black (
#000000) with obsidian card panels and razor hairline borders. - Includes seamless
localStoragepersistence and one-click cycle toggle.
- Clean borderless window chrome with native custom Minimize (
β), Maximize / Restore (β’), and Close (β) buttons integrated directly into the top navigation bar. - Native drag regions allow effortless moving of the window across all desktop environments.
- Fluid drag gestures with velocity-based releases, rotational physics, dynamic stamp badges (
KEEP,DELETE,SKIP), and stacked background card depth powered by Framer Motion. - Automatic center reset (
dragSnapToOrigin) if a drag is released below the swipe threshold.
- πΌοΈ Images & Animated GIFs:
- Asynchronous background GPU decoding (
decoding="async") and lazy background loading for massive 8K / 60MB+ images with zero frame drops. - Interactive 150% Detail Zoom Inspector button to examine fine details before keeping or deleting.
- Supports JPG, PNG, GIF, WebP, SVG, AVIF, BMP, ICO, TIFF.
- Asynchronous background GPU decoding (
- π¬ Video & Audio:
- Built-in video player and audio visualizer with inline controls and waveform playback.
- MKV / High-Bitrate Codec Detection: Automatically detects video codecs unsupported by web engines (e.g. MKV with HEVC/DTS) and provides a one-click βΆ Play in Video Player launcher into your default system media player (e.g. VLC, MPV, Windows Media Player).
- Supports MP4, WebM, MOV, MKV, AVI, WMV, MP3, WAV, FLAC, M4A, OGG.
- π PDF Documents: Native Chromium PDF document viewer with external reader launch support.
- π¦ ZIP & Archive Catalog Inspector:
- Live inspection of internal archive entries with folder trees and individual file byte sizes.
- Quick stat badges for total files, directories, and uncompressed byte size.
- In-card instant search through archive contents.
- Supports
.zip,.rar,.7z,.tar,.gz,.bz2,.iso.
- π CSV & TSV Spreadsheet Table Grid:
- Automatically parses
.csvand.tsvfiles into an interactive spreadsheet grid with row indices and sticky headers. - Toggle between Table Grid and Raw Text.
- Automatically parses
- β¨ Rendered Markdown Viewer:
- Automatically parses
.mdand.mdxfiles with typography, headings (#,##), bullet lists, code blocks, and formatted text. - Toggle between Preview MD and Raw Markdown.
- Automatically parses
- π» Syntax Highlighted Code & Logs:
- Monospaced line numbers, line and character counters, language badge, and a one-click Copy Snippet button.
- Supports JS, TS, Python, HTML, CSS, JSON (pretty-printed), YAML, SQL, C/C++, Rust, Go, Shell, Logs, and text.
- Engineered and benchmarked on 100,000+ files (340+ GB) with constant-time ($O(1)$) pointer-based queue swiping.
- Zero garbage collection pauses or array copying latency.
- Real-time disk storage calculation and live progress tracking.
- Configurable recursion depth, minimum file sizes (
> 10MB,> 100MB), categories, and sorting filters.
- Instant Physical Undo (
Ctrl+Z/Z): Files are staged in a drive-local buffer. Undoing instantly moves the file physically back to its exact folder and file path on disk in milliseconds. - Cross-Device EXDEV Protection: Automatically handles multi-drive partitions (e.g.
C:,Y:, external SSDs, USB drives) and network shares with atomic renames and fallback safety. - Flushed to OS Recycle Bin: When quitting the app or completing a review session, all remaining staged files are safely sent to the native OS Recycle Bin (
shell.trashItem()).
- Synthesized Web Audio API sound effects for Keep, Delete, Skip, Undo, and Victory (toggleable with
M). - Session completion victory screen with confetti, space reclaimed metrics, and session summaries.
| Shortcut | Action | Description |
|---|---|---|
β or D |
Keep | Keep file on disk, advance queue |
β or A |
Delete | Move file to safe deletion staging |
β or S or Space |
Skip | Send file to the end of the queue |
Ctrl + Z or Z |
Undo | Physically restore file back onto disk |
O |
Reveal | Open & highlight file in Explorer / Finder |
M |
Audio | Toggle sound effects on/off |
Esc |
Close | Close open modals or menus |
- Node.js (v18 or higher recommended)
npmorpnpmoryarn
- Clone the repository:
git clone https://github.com/pdrgrl/fileswipe.git
cd fileswipe- Install dependencies:
npm install- Launch development mode:
npm run devTo package FileSwipe into a standalone desktop executable for your operating system:
npm run buildThe compiled binaries will be output into the dist/ and release/ directories:
- Windows:
.exeinstaller / portable - macOS:
.dmg/.app - Linux:
.AppImage/.deb
- Desktop Framework: Electron 34
- UI & Components: React 19, TypeScript
- Styling: Tailwind CSS 3, Modern Glassmorphism & Custom Themes
- Motion & Gestures: Framer Motion 12
- Archive Engine: JSZip
- Iconography: Lucide React
- Celebrations: Canvas Confetti
- Audio Engine: Web Audio API Synthesizers
- Build Tooling: Vite 6,
vite-plugin-electron
This project is licensed under the MIT License.