Giter VIP home page Giter VIP logo

uqr's Introduction

uqr

npm version npm downloads bundle License JSDocs

Generate QR Code universally, in any runtime, to ANSI, Unicode or SVG. ES module , zero dependency, tree-shakable.

Install

# Using npm
npm install uqr

# Using yarn
yarn add uqr

# Using pnpm
pnpm add uqr

Usage

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.

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.

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.

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.

import { renderUnicodeCompact } from 'uqr'

const string = renderUnicodeCompact(text, options)

console.log(string)

renderSVG

Render QR Code to SVG string.

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.

License

MIT License

uqr's People

Contributors

aakashrawat04 avatar antfu avatar onmax avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

uqr's Issues

support logo image

Describe the feature

image
option to add image logo

Additional information

  • Would you be willing to help implement this feature?

data is not iterable

When passing a nonstring type to renderQRCode such as renderQRCode(123), the util fails with a cryptic message. I suggest either make a strict error + types for when input is not a string or trying to stringify input using JSON.stringify


ref: unjs/listhen#97

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.