--- layout: mini comments: true title: "QR CODE MAKING: BIGGER IS SMALLER" permalink: /n/qr.html sitemap: true excerpt: WHEN YOU MAKE QR CODES, CAPITAL LETTERS MEAN SMALLER QR CODE AND OTHER NOTES ON MAKING THEM. --- # QR CODE MAKING: BIGGER IS SMALLER _{{ page.excerpt }}_ That is a neat trick [from Terence Eden's blog where the cause is also explained](https://shkspr.mobi/blog/2025/02/why-are-qr-codes-with-capital-letters-smaller-than-qr-codes-with-lower-case-letters/). Automaattinen sisällysluettelo / Automatically generated Table of Contents - [qrencode](#qrencode) - [WiFi QR codes](#wifi-qr-codes) - [iwd Device Provisioning Protocol](#iwd-device-provisioning-protocol) - [Other methods of generating QR codes](#other-methods-of-generating-qr-codes) - [QR code readers](#qr-code-readers) - [See also](#see-also) ## qrencode `qrencode` is my favourite method of creating QR codes, with the above fact a small QR pointing to my website would be: - `qrencode -t utf8 -i https://aminda.eu` - `-t utf8` outputs to terminal as unicode and `-i` ignores case turning input UPPERCASE. However my former goto was: - `qrencode -l H -t utf8 https://aminda.eu` which would feature higher error correction allowing more damage (including art) while still working. Storage: - `qrencode -i -s 6 -l H -o aminda.eu https://aminda.eu` - This `-s 6` doubles the pixel size, `-l H` uses highest error correction and `-o aminda.eu` outputs the image to `aminda.eu.png`. This could be converted through `magick aminda.eu.png aminda.eu.jpg` However usually I end up to [qr.bash](https://gitea.blesmrt.net/mikaela/scripts/src/branch/master/bash/qr.bash). ## WiFi QR codes For details on the specification, please refer to [Barcode Contents on zxing wiki instead](https://github.com/zxing/zxing/wiki/Barcode-Contents#wi-fi-network-config-android-ios-11). - Open network with SSID `openwireless.org_nomap`: `qrencode -t utf8 "WIFI:T:nopass;S:openwireless.org_nomap;;"` ([wifiqr-open.bash](https://gitea.blesmrt.net/mikaela/scripts/src/branch/master/bash/wifiqr-open.bash)) - WPAX protected network with SSID `Hollow` and key `Bastion`: `qrencode -t utf8 "WIFI:T:WPA;S:Hollow;P:Bastion;H:false;"` ([wifiqr.bash](https://gitea.blesmrt.net/mikaela/scripts/src/branch/master/bash/wifiqr.bash)) - Hidden networks? Change the `H:false` to `H:true`. ### iwd Device Provisioning Protocol If you are using iwd for WiFi management, forget the above and to add a new dpp capable device onto your network, instead `iwctl dpp wlan0 start-configurator` which requires `qrencode`. To stop provisioning new devices `iwctl dpp wlan0 stop`. Obviously don't include the dots and replace `wlan0` with your actual interface. ## Other methods of generating QR codes - [DuckDuckGo search beginning with qrcode](https://start.duckduckgo.com/?q=qrcode+HELLO+WORLD) - [Firefox add-on: Offline QR Code Generator](https://addons.mozilla.org/firefox/addon/offline-qr-code-generator/) - This has spared me headache countless times on school computers for getting URL stored to my browser from school computers or virtual machines without complicated setups. - [Chrome Web Store: QR Code](https://chromewebstore.google.com/detail/qr-code/cbimgpnbgalffiohilfglgkkhpegpjlo) - BinaryEye & SecUSo for Android below ## QR code readers - The stock Camera app. - At least on iOS and SailfishOS. - [BinaryEye](https://github.com/markusfisch/BinaryEye) is my go-to app for QR codes and will tell you more than you might want to know about them. [Google Play](https://play.google.com/store/apps/details?id=de.markusfisch.android.binaryeye), [F-Droid](https://f-droid.org/en/packages/de.markusfisch.android.binaryeye/) - [SecUSo: Privacy Friendly QR Code Scanner for Android ](https://github.com/SecUSo/privacy-friendly-qr-scanner), [Google Play](https://play.google.com/store/apps/details?id=com.secuso.privacyFriendlyCodeScanner), [F-Droid](https://f-droid.org/repository/browse/?fdid=com.secuso.privacyFriendlyCodeScanner) ### See also - [Mikaela/gist directory vcard](https://gitea.blesmrt.net/mikaela/gist/src/branch/master/vcard)