Eric's Drop to Phone
Drop photos, videos, PDFs, notes, and other files between a Windows PC and phones on the same Wi-Fi, or between two phones with the app open. 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). Phones can Connect / Send to Nearby peers while the receiving app is open.
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, or double-click Install.cmd to put it in your Start menu, wire Explorer Send to, and add the firewall rule (one admin prompt). In the running app, Update can replace this copy from the website zip. This is the PC app, not the iPhone app.
- Get the app (website first; zip only on a PC): https://droptophone.welchsoftware.net/
- Production zip: https://droptophone.welchsoftware.net/EricsDropToPhone-windows.zip
- Dev: https://github.com/ejw427/DropToPhone/releases/download/windows-dev/EricsDropToPhone-windows.zip
Needs the .NET 8 Desktop Runtime and ASP.NET Core 8 Runtime (x64).
Website: droptophone.welchsoftware.net
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). Open firewall port appears only if Windows Firewall is blocking inbound 17890.
- 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 the received folder on Windows (default
Downloads\DropToPhone). Explorer Send to and Ctrl+V work on the PC.
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, testing and markup, the paid App Store walkthrough (Plan B), and Google Play. Same URLs as Safari/Chrome. Support: support@welchsoftware.net.
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 appears in the Windows app when the private inbound rule is missing and the firewall is on. It allows TCP 17890 (
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.