Eric's Drop to Phone
Drop photos, videos, PDFs, and other files on a Windows PC and open them on an iPhone or Android phone on the same Wi-Fi. Several files in one drop. No cloud, no Bluetooth file send (iPhone does not support that).
v1 is a Windows tray app plus a Safari/Chrome page, plus native phone apps: iOS (com.droptophone.app in Xcode / CI) and Android (com.droptophone.app in Gradle / CI, for Google Play).
Clone: https://github.com/ejw427/DropToPhone.git
Day-to-day branch: dev. Promote to main yourself (merge/push, or Actions → Promote dev → main). Pushes to main can upload TestFlight when TESTFLIGHT_ENABLED is on.
Download the Windows desktop app
Unzip and run DropToPhone.exe. This is the PC app, not the iPhone app.
- Production: https://droptophone.welchsoftware.net/EricsDropToPhone-windows.zip
- Dev (GitHub prerelease): https://github.com/ejw427/DropToPhone/releases/tag/windows-dev
Needs the .NET 8 Desktop Runtime and ASP.NET Core 8 Runtime (x64).
Website: https://droptophone.welchsoftware.net (Cloudflare). Staging Worker: droptophone-web-dev on *.workers.dev after a dev branch deploy. See docs/CLOUDFLARE.md.
Run in Cursor (this PC)
Status-bar buttons (install the recommended Task Buttons extension if they are missing):
- Rebuild — stop, build, start, open the iPhone preview in Cursor's Simple Browser
- Run — start if needed, then open the Simple Browser (not Edge/Chrome)
- Stop — kill the app on port 17890
The Simple Browser loads http://127.0.0.1:17890/iphone (phone-sized frame). Drop files in the Windows window; the preview updates by itself. Large videos show a progress bar while converting or sending.
From the terminal instead:
dotnet run --project src/DropToPhone.Windows/DropToPhone.Windows.csproj
Then use Run so the embedded browser opens. Do not use the old "open in default browser" path.
iPhone on Wi-Fi
- Optionally pick the Wi-Fi/Ethernet address the iPhone actually uses (not a VPN) and Open firewall port.
- On the iPhone app: scan the QR once, or tap Connect when the PC appears on Wi-Fi.
- Later drops arrive without scanning again. If the PC’s address changes, the phone finds it with Bonjour.
- Photos and video save to Photos. PDFs and other documents save to Files.
- After linking, Send to PC on the iPhone puts files in
Downloads\DropToPhoneon Windows.
The window can be closed; the app stays in the notification area. Right-click the tray icon → Quit.
iPhone (no app)
- Same Wi-Fi as the PC.
- Camera app → scan the QR.
- Safari opens
http://{pc-ip}:17890/d/{token}. - Save or download. A gallery shows when several files were dropped.
HEIC may not preview in Safari; Download still works.
Native Android app (Windows)
cd src\DropToPhone.Android
.\gradlew.bat assembleDebug
See Android setup and Google Play. Same URLs as Chrome.
Native iOS app (Mac)
git clone https://github.com/ejw427/DropToPhone.git
open src/DropToPhone.iOS/DropToPhone.xcodeproj
See iPhone setup, Android / Play, the project plan, the paid App Store walkthrough (Plan B), and Google Play. Same URLs as Safari/Chrome.
Enable git hooks once after clone:
pwsh -File scripts/setup-git-hooks.ps1
If the phone cannot load the page
- Phone and PC on the same LAN (guest Wi-Fi isolation will block this).
- After the first scan, the iPhone should find the PC by name even if the IPv4 address changed. If it does not, scan the QR again.
- In the Windows app, choose the IPv4 address for that LAN, not VPN or a second NIC (the QR still encodes that address for Safari and first-time setup).
- Open firewall port — private inbound TCP 17890, rule name
DropToPhone LAN. - Manual rule:
netsh advfirewall firewall add rule name="DropToPhone LAN" dir=in action=allow protocol=TCP localport=17890 profile=private
http://127.0.0.1:17890/healthon the PC should returnok.
What this is not
Bluetooth/OPP file send or AirDrop. See Architecture and the project plan.