I just did this the other day using the newest version (6.4.4) of LibreOffice Writer. It has a QR Code generator built in.<p>As mentioned by someone else it uses the form of:<p><pre><code> WIFI:T:WPA;S:{ssid};P:{password};;
</code></pre>
Wikipedia has information on this <a href="https://en.wikipedia.org/wiki/QR_code#Joining_a_Wi%E2%80%91Fi_network" rel="nofollow">https://en.wikipedia.org/wiki/QR_code#Joining_a_Wi%E2%80%91F...</a><p>Section of the Wikipedia article:<p><i>Joining a Wi‑Fi network</i><p>By specifying the SSID, encryption type, password/passphrase, and if the SSID is hidden or not, mobile device users can quickly scan and join networks without having to manually enter the data. Note that this technique is valid for specifying only static SSID passwords (i.e. PSK); dynamic user credentials (i.e. Enterprise/802.1x) cannot be encoded in this manner.<p>The format of the encoded string is:<p><pre><code> WIFI:S:<SSID>;T:<WPA|WEP|>;P:<password>;H:<true|false|>;
</code></pre>
Order of fields does not matter. Special characters """ (quotation mark), ";" (semicolon), "," (comma), ":" (colon) and "\" (backslash) should be escaped with a backslash ("\") as in MECARD encoding. For example, if an SSID were "foo;bar\baz", with quotation marks part of the literal SSID name itself, this would be encoded as: WIFI:S:\"foo\;bar\\baz\";;<p>As of January 2018, iPhones have this feature built into the camera app under iOS 11.x. Android users may have the feature built into one of the device's stock apps (e.g. Samsung Galaxy S8/S8+/Note8 users can launch the stock browser, tap the browser's 3-dot menu, then choose "Scan QR code") or can install one of several available free apps such as "Barcode Scanner" or "QR Droid" to perform the QR Wi-Fi join.
Per <a href="https://github.com/bndw/wifi-card/blob/5d7fbbda1e8eac5802c8d7b4a9644e8f37a4e041/src/components/Card.js#L22" rel="nofollow">https://github.com/bndw/wifi-card/blob/5d7fbbda1e8eac5802c8d...</a>, the QR code text is of this form:<p><pre><code> WIFI:T:WPA;S:{ssid};P:{password};;
</code></pre>
<a href="https://github.com/zxing/zxing/wiki/Barcode-Contents#wi-fi-network-config-android-ios-11" rel="nofollow">https://github.com/zxing/zxing/wiki/Barcode-Contents#wi-fi-n...</a> seems to be where this format came from. (That page describes various other forms of QR codes too.)<p>bndw: looks like some characters need escaping: backslash, semicolon, comma and colon. Maybe more too, given the treatment of double quotes in that last link (I’ve filed <a href="https://github.com/zxing/zxing/issues/1292" rel="nofollow">https://github.com/zxing/zxing/issues/1292</a> about that inconsistency).
Another fun bug report: I entered <i>lots</i> of input, and the page suddenly went blank. In the console:<p><pre><code> Error: code length overflow. (28252>23648)
</code></pre>
So yeah, seems like all you have to do is paste 24KB of data in and it blows up. :)<p>I see this failure mode in React apps a <i>lot</i>, where a bug causes an exception to be thrown, and the page just vanishes in a puff of smoke, as though it never was.<p>Half the time I’ve seen this failure mode it’s also been combined with <i>persisting the bad value</i>, so that the site is permanently broken until you can unpersist the value (e.g. clear localStorage or IndexedDB or cookie; but if the bad value is stored on a server you’re truly stuck).<p>The impression I’ve taken away is that it’s entirely unacceptable for a React component to throw an exception, because it will immediately destroy <i>everything</i>. Wonder how common such failures actually are, and whether there’s anything React itself could do about it (my guess is not).
Neat. You can find more supported QR codes for iOS here-- <a href="https://developer.apple.com/videos/play/tech-talks/206/" rel="nofollow">https://developer.apple.com/videos/play/tech-talks/206/</a> (I couldn't find docs but you can skip around the video, starts at 1:11).
Woah, do not get into the habit of putting your wifi network password into a website if you care about security. This particular site might or might not collect it now but it's a terrible habit to put your sensitive data into another site.<p>Imagine if this was a web-based password strength meter.
An idea that's been kicking around in my head is a widget with an e-ink display for hackerspaces, cafés, and other multi-user spaces that displays the a password-of-the-day along with a qrcode for easy login. Heck, include an NFC chip that hands out application/vnd.wfa.wsc objects as well.<p>I'm not sure how useful it would be beyond the cool factor, of course … the cafés in my area don't seem to change their wifi passwords often at all, so I assume they're not very concerned about leeching. The typical practice of printing it on a receipt or writing it on the board next to the soup-of-the-day is probably hard to beat.
Can someone give a short explaination as to how it works in the backend? The QR code contains username and password. But how does my phone's QR scanner know that its an SSID/pw and eventually connects to the network?
I like the interface and that it doesn't need a server to generate the QR image, but it doesn't work for my network ¯\_(ツ)_/¯<p>Edit: perhaps I should clarify that that's my network's name. In the qr code reader it shows up as ¯_(ツ)_/¯ and it's stored in wpa_supplicant.conf as c2af5f28e38384295f2fc2af (indeed missing the backslash).
Lovely! Is it possible to inject SSID and passphrase parameters as env vars into the Docker container and have a png or pdf render without the web interface?<p>Edit: Thank you to those who replied!
Combine this with a small/cheap e-paper display and dd-wrt on your wifi router and you have the tools for auto generating and displaying a new daily guest password.<p>Be a decent solution for a business that wants to offer guest wifi with a little less risk of abuse.
I made one of these before a party and put it up by the door for the guest wifi. It was great because I didn't have to tell anyone the wifi password during the party!
This should be a feature of password managers, or at least password managers that have a separate item type for wireless networks.<p>Someone suggested it on the 1Password forums [1] and one of their employees said it it was a great idea and would pass it to the development team, but that was in September, 2017, so apparently it didn't go anywhere.<p>About 18 months ago, someone suggested it on /r/1password [2], and again someone from 1Password liked it and said they would pass it on to the devs.<p>[1] <a href="https://discussions.agilebits.com/discussion/82070/feature-request-wifi-qr-code-display" rel="nofollow">https://discussions.agilebits.com/discussion/82070/feature-r...</a><p>[2] <a href="https://www.reddit.com/r/1Password/comments/a1udg2/feature_request_wifi_qr_codes/" rel="nofollow">https://www.reddit.com/r/1Password/comments/a1udg2/feature_r...</a>
I've tried to use these before, but since my SSID is [the poop emoji] (which i've just learned is verboten on HN) and the password is 64 characters of hex, I've never gotten it to work, and have exposed bugs in lots of shitty wifi hardware and software. 64 char hex is what a regular 8-63 char password is hashed to for encryption. Specifying it directly as 64 char hex is in spec, and should be supported in software or hardware that's made properly.<p>Emoji SSID just kind of works in most cases, because an encoding was never specified for that string, afaik.<p>TL;DR: I shoot myself in the foot for entertainment.
Recently came across a QR Coder [1] that can generate for a variety of different purposes, including Wifi (e.g., Bookmarks, Email, Contact, GeoLocation, SMS, URL link, etc.) - the same website also has a encoder/decoder and an API [2], but I've not tried those features.<p>[1] <a href="http://niftypdf.com/Barcoder/QRCoder" rel="nofollow">http://niftypdf.com/Barcoder/QRCoder</a>
[2] <a href="http://niftypdf.com/Barcoder/API" rel="nofollow">http://niftypdf.com/Barcoder/API</a>
Might be a dumb question but how do you scan a QR code like this on Android without a 3rd party app? The only way I've ever known to scan QR codes is by scanning from within WeChat.
Neat. I investigated doing something like this a few weeks ago, but it turned out there's a site that has a variety of QR code tools:<p><a href="https://www.qr-code-generator.com/" rel="nofollow">https://www.qr-code-generator.com/</a><p>(not trying to advertise the site, just saying it wasn't worth my time to reinvent something)