Troubleshooting phone pairing.
How the pairing works
Studio side (the desktop browser) opens a PeerJS connection and generates a 6-character PIN. The PIN gets embedded into a QR code as part of the phone-side URL screenshotify.app/app?peer=ID&pin=PIN. Phone scans the QR, opens the URL, connects back to the studio. PIN gets verified, then the data channel opens. From that point, your phone's photo-picker button (labelled in the phone-app's current UI language) sends image data directly to the studio over WebRTC.
If the QR doesn't connect
- Both browsers must support WebRTC. Safari 17+, Chrome 100+, Firefox 100+, Edge. Older Safari versions don't have the data-channel API enabled.
- Both need internet. The pairing uses PeerJS's signaling server to set up the direct connection; without a working connection on either side, the QR-handshake fails.
- Corporate / school firewalls often block WebRTC. If you're on a guest network or corporate VPN, WebRTC's STUN/TURN traffic might be filtered. Try a mobile hotspot from the phone.
- Auth-handshake timeout. Once the phone connects to the studio's data channel, it has a 3-second window to send its auth message. If that handshake stalls (network hiccup, browser tab backgrounded), the studio drops the connection. Click "Connect phone" again to start a fresh session. The PIN itself is valid as long as the modal stays open.
"Camera permission denied" on iOS Safari
iOS Safari restricts camera access aggressively. Three things to check:
- Safari Settings → Camera → Ask or Allow for screenshotify.app
- The QR-scanner you're using doesn't need our camera permission — it's the system QR scanner
- If you use the Files picker (not camera), no camera permission is needed at all
"Not connected" after scanning
The data channel is open but the studio side didn't acknowledge the phone. Usually means the PIN check timed out before the phone-side could send its auth message. Close the phone tab, generate a fresh QR on the studio side, scan again.
Pairing works but images don't appear
Image data goes one direction: phone → studio. If your studio doesn't show the image after the phone says "Sent", check:
- The studio editor is still open in the same browser tab where you scanned the QR
- You haven't navigated to a different page on the studio side (the connection drops)
- The image is under 5 MB; very large captures sometimes choke the data channel
Privacy reminder
Screenshot data travels phone-to-studio directly over WebRTC. Nothing routes through our servers. The signaling server (PeerJS) only sees that two peers want to connect — it doesn't see the image payload.