README
uqr
Generate QR Code universally, in any runtime, to ANSI, Unicode or SVG. ES module , zero dependency, tree-shakable.
Install
- ```bash
- # Using npm
- npm install uqr
- # Using yarn
- yarn add uqr
- # Using pnpm
- pnpm add uqr
- ```
Usage
- ```ts
- import {
- encode,
- renderANSI,
- renderSVG,
- renderUnicode,
- renderUnicodeCompact,
- } from 'uqr'
- const svg = renderSVG('Hello, World!')
- const ansi = renderANSI('https://192.168.1.100:3000', {
- // Error correction level
- ecc: 'L',
- // Border width
- border: 2,
- })
- // display QR Code in terminal
- console.log(ansi)
- ```
API
encode
Encode plain text or binary data into QR Code represented by a 2D array.
- ```ts
- import { encode } from 'uqr'
- const {
- data, // 2D array of boolean, representing the QR Code
- version, // QR Code version
- size, // size of the QR Code
- } = encode(text, options)
- ```
renderANSI
Render QR Code to ANSI colored string.
- ```ts
- import { renderANSI } from 'uqr'
- const string = renderANSI(text, options)
- console.log(string)
- ```
renderUnicode
Render QR Code to Unicode string for each pixel. By default it uses █ and ░ to represent black and white pixels, and it can be customizable.
- ```ts
- import { renderUnicode } from 'uqr'
- const string = renderUnicode(text, {
- blackChar: '█',
- whiteChar: '░',
- // ...other options
- })
- ```
renderUnicodeCompact
Render QR Code with two rows into one line with unicode ▀, ▄, █, . It is useful when you want to display QR Code in terminal with limited height.
- ```ts
- import { renderUnicodeCompact } from 'uqr'
- const string = renderUnicodeCompact(text, options)
- console.log(string)
- ```
renderSVG
Render QR Code to SVG string.
- ```ts
- import { renderSVG } from 'uqr'
- const string = renderSVG(text, options)
- ```
Credits
QR Code generation algorithm is modified from nayuki/QR-Code-generator by Project Nayuki.
CLI renders are inspired by qrcode-terminal.