Generate QR Code universally, in any runtime, to ANSI, Unicode or SVG.
TypeScript
772
26 commits
updated Apr 3, 2026
Generate QR Code universally, in any runtime, to ANSI, Unicode or SVG. ES module , zero dependency, tree-shakable.
# Using npm
npm install uqr
# Using yarn
yarn add uqr
# Using pnpm
pnpm add uqr
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)
encodeEncode plain text or binary data into QR Code represented by a 2D array.
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)
renderANSIRender QR Code to ANSI colored string.
import { renderANSI } from 'uqr'
const string = renderANSI(text, options)
console.log(string)
renderUnicodeRender 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 'uqr'
const string = renderUnicode(text, {
blackChar: '█',
whiteChar: '░',
// ...other options
})
renderUnicodeCompactRender 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 'uqr'
const string = renderUnicodeCompact(text, options)
console.log(string)
renderSVGRender QR Code to SVG string.
import { renderSVG } from 'uqr'
const string = renderSVG(text, options)
QR Code generation algorithm is modified from nayuki/QR-Code-generator by Project Nayuki.
CLI renders are inspired by qrcode-terminal.
MIT License
5,149 followers · starred Aug 2023
7,372 followers · starred Jun 2026
557 followers · starred Aug 2023
1,279 followers · starred Aug 2023
Generate QR Code universally, in any runtime, to ANSI, Unicode or SVG.
TypeScript
772
26 commits
updated Apr 3, 2026
Generate QR Code universally, in any runtime, to ANSI, Unicode or SVG. ES module , zero dependency, tree-shakable.
# Using npm
npm install uqr
# Using yarn
yarn add uqr
# Using pnpm
pnpm add uqr
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)
encodeEncode plain text or binary data into QR Code represented by a 2D array.
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)
renderANSIRender QR Code to ANSI colored string.
import { renderANSI } from 'uqr'
const string = renderANSI(text, options)
console.log(string)
renderUnicodeRender 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 'uqr'
const string = renderUnicode(text, {
blackChar: '█',
whiteChar: '░',
// ...other options
})
renderUnicodeCompactRender 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 'uqr'
const string = renderUnicodeCompact(text, options)
console.log(string)
renderSVGRender QR Code to SVG string.
import { renderSVG } from 'uqr'
const string = renderSVG(text, options)
QR Code generation algorithm is modified from nayuki/QR-Code-generator by Project Nayuki.
CLI renders are inspired by qrcode-terminal.
MIT License
5,149 followers · starred Aug 2023
7,372 followers · starred Jun 2026
557 followers · starred Aug 2023
1,279 followers · starred Aug 2023