FileDrop is a private, cross-platform file sharing tool that lets you transfer files from your phone to your computer over your local Wi-Fi using a QR code.
Think of it as a self-hosted AirDrop that works on any device.
- Start the Node.js server on your laptop.
- Open the dashboard in your browser — it shows a QR code for your local IP.
- Scan the QR code with your phone’s camera.
- A simple upload page opens in your phone’s browser (no app required).
- Select files → they are sent directly to your laptop.
- Files appear on the dashboard instantly via WebSockets.
- Download with one click → saved to your Downloads folder.
- 🔐 Privacy-First → All transfers stay inside your local network.
- 🧹 Temporary Storage → Files auto-delete after download.
- ⚡ Real-Time Updates → Instant uploads with Socket.IO.
- 🌍 Cross-Platform → Works with Windows, macOS, Linux, iOS, Android.
- 📷 No App Needed → Just scan & upload from your phone browser.
Layer | Tech Used |
---|---|
Backend | Node.js, Express |
File Uploads | Multer |
Realtime | Socket.IO |
Dashboard | React |
Upload Page | HTML + Vanilla JS |
QR Codes | qrcode (server), qrcode.react (client) |
FileDrop/
├── .gitignore
├── README.md
├── assets
└── Screenshot 2025-09-13 at 6.25.44 PM 1.png
├── client
├── README.md
├── package-lock.json
├── package.json
├── public
│ ├── favicon.ico
│ ├── index.html
│ ├── logo192.png
│ ├── logo512.png
│ ├── manifest.json
│ └── robots.txt
└── src
│ ├── App.css
│ ├── App.js
│ ├── App.test.js
│ ├── index.css
│ ├── index.js
│ ├── logo.svg
│ ├── reportWebVitals.js
│ └── setupTests.js
└── server
├── .gitignore
├── index.js
├── mobile-upload.html
├── package-lock.json
└── package.json
git clone https://github.com/kartik0905/filedrop.git
cd filedrop
cd server && npm install
cd ../client-dashboard && npm install
cd server
npm start
cd client-dashboard
npm start
- Open
http://localhost:3000
on your laptop. - Scan the QR code with your phone to open the upload page.
- Files auto-delete after download.
- Clear
uploads/
manually if needed.
- 🔑 Password-protected uploads
- 📦 Batch downloads (zip multiple files)
- 📲 Drag & Drop dashboard uploads
- 🌐 LAN-wide discovery (no QR needed)
Pull requests are welcome! Open an issue to discuss new features or fixes.
MIT License © 2025 Kartik Garg