hqr
Generate QR Code universally, in any runtime, to ANSI, Unicode or SVG. ES module , zero dependency, tree-shakable.
Install
npm install hqr
yarn add hqr
pnpm add hqr
Usage CLI
npx hqr --text "Hello, World!"
Usage
import {
encode,
renderANSI,
renderSVG,
renderUnicode,
renderUnicodeCompact,
renderBase64
} from 'hqr'
const svg = renderSVG('Hello, World!')
const ansi = renderANSI('https://192.168.1.100:3000', {
ecc: 'L',
border: 2,
})
console.log(ansi)
API
encode
Encode plain text or binary data into QR Code represented by a 2D array.
import { encode } from 'hqr'
const {
data,
version,
size,
} = encode(text, options)
renderANSI
Render QR Code to ANSI colored string.
import { renderANSI } from 'hqr'
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.
import { renderUnicode } from 'hqr'
const string = renderUnicode(text, {
blackChar: '█',
whiteChar: '░',
})
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.
import { renderUnicodeCompact } from 'hqr'
const string = renderUnicodeCompact(text, options)
console.log(string)
renderSVG
Render QR Code to SVG string.
import { renderSVG } from 'hqr'
const string = renderSVG(text, options)
renderBase64
Render QR Code to SVG string.
import { renderBase64 } from 'hqr'
const string = renderBase64(text, options)
Credits
QR Code generation algorithm is modified from nayuki/QR-Code-generator by Project Nayuki.
CLI renders are inspired by qrcode-terminal.
License
MIT License