iPhone handles WiFi sharing differently from Android, and the difference catches people out. iOS can scan a WiFi QR code perfectly well. It cannot generate one — there is no built-in option, on any version of iOS, to turn your network into a code.
What Apple provides instead is password sharing over AirDrop, which is excellent when it applies and useless when it does not. Here is what iPhone can actually do, where Apple’s method fails, and how to make a code that works for everyone in the room.
Scanning a WiFi code on iPhone
Open the Camera app and point it at the code. A banner slides down from the top: Join “NetworkName” Network. Tap it and you are connected.
This has worked since iOS 11, so any iPhone from the 5s onwards running current software can do it. You do not need to press the shutter, and you do not need to be in any particular camera mode — the scanner runs continuously in the viewfinder.
If nothing appears, check Settings → Camera and make sure Scan QR Codes is switched on. It is enabled by default, but it is one of the toggles people turn off while exploring settings and then forget about.
The Control Centre scanner
There is a second, more reliable route. Go to Settings → Control Centre and add Code Scanner to your included controls.
It works better than the camera in poor light, because it is not simultaneously trying to meter exposure and focus for a photograph. In a dim restaurant or a badly lit hallway — which is where WiFi codes usually live — this is the one that works.
Scanning from a photo
If someone messages you a code as an image, you do not need to print it or display it on a second screen. Open it in Photos and iOS will detect the code and offer to join the network directly.
The same works for a screenshot, and for a code embedded in a PDF opened in Files. This is genuinely useful for holiday lets and offices that email their WiFi details in advance.
Apple’s own sharing, and where it stops
If both people have Apple devices, this is the smoother route. The guest taps the network name on their device; a prompt appears on yours offering to share the password; you tap Share Password. No code, no typing.
It requires all of the following to be true simultaneously, which is why it so often silently fails:
- Both devices are Apple, unlocked, and physically near each other.
- Both have Bluetooth and WiFi switched on — Bluetooth is used for the handshake even though the result is a WiFi connection.
- Your Apple ID email address is in their Contacts, and theirs is in yours. It has to be the email tied to the Apple ID, not just any address for that person.
- Neither device has Personal Hotspot active.
- Both are signed in to iCloud.
That contact requirement is the usual culprit, and it fails for exactly the people you most want to hand WiFi to — a visitor you have not saved, a client, a tradesperson, a guest in a rental. The prompt simply never appears, with no explanation.
It also cannot reach Android at all, which rules it out in most households.
Making a code from an iPhone
Since iOS will not generate one, use a browser-based generator. Our WiFi QR code generator works in Safari on the phone itself: enter the network name, the password and the security type, then download the code straight to your photos.
Everything happens in the browser. The password is not sent to a server, which is worth caring about more than most people do — a generator that renders the image server-side necessarily receives your WiFi password, and has it in its logs.
Finding the password you already have
You need to know the password to type it in, and most people have not seen theirs since the router was installed. iPhone can show you a saved one:
- Settings → Wi-Fi
- Tap the ⓘ beside the network name
- Tap the hidden Password field
- Authenticate with Face ID or Touch ID
This has been available since iOS 16. On older versions the password is not viewable on the device at all — you would need to check the router label or its admin page.
What the code actually contains
A WiFi QR code is not encrypted or obscured. It encodes one line of plain text:
WIFI:T:WPA;S:MyNetwork;P:MyPassword;H:false;;
T is the security type, S the network name, P the password, H whether the network is hidden. Any QR reader will display that text rather than joining — so anyone who photographs your code has your password.
That is not a reason to avoid them. It is a reason to generate the code for your router’s guest network if it is going anywhere visible. Guests get internet; they do not get to see your printer, your NAS, or the laptop you bank on. Almost every router made in the last decade supports one.
Which method to use when
- One Apple guest already in your contacts — AirDrop sharing. Fastest, nothing to make.
- An Android guest — QR code. AirDrop cannot reach them.
- Anyone not in your contacts — QR code.
- A printed card for repeat guests — QR code, generated for the guest network.
- A café, office, clinic or rental — printed QR code on the guest network, no exceptions.
- A laptop or smart TV — neither can scan. Read the password out of the code and type it.
Troubleshooting
- Camera detects nothing. Move to 15–20cm and hold still. Codes under 3cm across need close range, especially in low light. Check the Scan QR Codes toggle.
- It reads the code but asks for a password. The code itself is wrong — usually a typo in the network name, or the wrong security type chosen when it was made.
- It joins but there is no internet. The code worked. The problem is the network or the router.
- Hidden network fails. If the SSID is not broadcast, the code must have the hidden flag set. Without it iOS will not connect even when everything else is correct.
- Glare defeats the scan. Gloss laminate reflects ceiling lights straight into the lens. Change your angle rather than adding light.
- Special characters in the password. Semicolons, colons, commas and backslashes must be escaped in the payload. A decent generator handles this; a hand-typed string will not.
Sharing other things the same way
The same mechanism works for anything text-based. A link QR code is the most common use — menus, booking pages, review links — and behaves identically, without the security consideration.
Both of our generators produce static codes. Nothing expires, nothing tracks scans, and nothing stops working if this site ever does, because the data lives in the code itself rather than in a redirect on someone else’s server. That is the practical difference between a static QR code and the “dynamic” ones most services charge a subscription for.
Join the discussion