QR Lite is a browser extension for generating and scanning QR codes offline.
Chrome is supported, however this extension is NOT available on Chrome Web Store, you have to build and install it from source yourself.
- Generate QR code for current tab in popup.
- Generate QR code for selected link/text.
- Change error correction level of generated QR code.
- Scan QR codes in images.
- Keep track of generating and scanning history.
QR Lite requires the following permissions:
- Access to the active tab (
activeTab
): mandatory, enables capturing image of the active page for scanning - Context menus (
menus
/contextMenus
): mandatory, enables the context menu items - Storage (
storage
): mandatory, enables preferences and history persistence on disk - Clipboard write (
clipboardWrite
): mandatory, enables copying QR code images or text to clipboard - Scripting (
scripting
): mandatory, enables script injection for the following scenarios:- When Select region to scan.. is chosen, a script need to be injected to the active page to load the "scan region picker" UI
- When Scan QR code in Image is chosen, a script need to be injected to the active page to retrieve the image data
- Camera access: optional, enables QR code scanning with camera
Prerequisites: yarn
- Clone this repo and sync the submodules.
- Run
yarn
to install dependencies. - Run
yarn dev
to watch source files and automatically build the add-on when they change. - Use your browser's "Load unpacked extension" feature to load the extension at
dist/{firefox,chrome}/manifest.json
in the project root.
Use the script in /opencv
to update the pre-built OpenCV library and wasm.
Build steps on Linux:
- Make sure you have
node
,yarn
, and thezip
command installed. - Open terminal and cd to project root.
- Run
node scripts/release.sh {firefox,chrome}
, which will generate 2 files in therelease
directory:<browser>-<version>-<hash>-release.zip
is the installable extension, and<browser>-<version>-<hash>-source.zip
is the zipped source code.
As of now, translations for most of the languages are done by AI. You're welcome to help improve the translation or add your own translations, just submit a pull request.
- ZXing for JS for generating QR code.
- OpenCV + wechat_qrcode for decoding QR code.
- Javascript QR Code for the initial code base.
MIT