hqr
v0.1.0
Published
Generate QR Code universally, in any runtime, to ANSI, Unicode or SVG.
Downloads
35
Readme
Generate QR Code universally, in any runtime, to ANSI, Unicode or SVG. ES module , zero dependency, tree-shakable.
Install
# Using npm
npm install hqr
# Using yarn
yarn add hqr
# Using pnpm
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', {
// 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.
import { encode } from 'hqr'
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.
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: '░',
// ...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.
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