npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@qrcodesdk/core

v0.0.2

Published

Runtime-neutral QR code generation for any JavaScript runtime with native ESM, ES2020, and TextEncoder. Build matrices, SVG, terminal text, or custom output.

Readme

@qrcodesdk/core

Open @qrcodesdk/core on npmx.dev @qrcodesdk/core version @qrcodesdk/core install size @qrcodesdk/core download/mo @qrcodesdk/core source code

Documentation | Live Demo

@qrcodesdk/core is the runtime-neutral foundation of QRCodeSDK. It turns a payload into a QR code matrix and lets renderers decide how that matrix becomes SVG, terminal text, PNG, DOM output, or any custom format.

Install

npm install @qrcodesdk/core
pnpm add @qrcodesdk/core

vp

vp add @qrcodesdk/core

deno

deno add @qrcodesdk/core

bun

bun add @qrcodesdk/core

yarn

yarn add @qrcodesdk/core

Quick start

import {QRCodeSVGRenderer, qrcode} from '@qrcodesdk/core';

const svg = qrcode('https://qrcodesdk.dev').render(QRCodeSVGRenderer());

The result is an SVG string. See the SVG renderer reference for its options and constraints.

What Core adds

| Capability | API | Return type | | ----------------------------- | -------------------------- | -------------- | | Generate a QR matrix | qrcode(payload).matrix() | QRCodeMatrix | | Render scalable vector output | QRCodeSVGRenderer | SVG string | | Render terminal output | QRCodeTextRenderer | text string |

The complete payload, matrix-option, builder-method, and matrix-output contracts live in Builder and matrix. Shared visual options and scan-reliability guidance live in Customize appearance.

Typed helpers serialize common application values before generation. See Payload helpers for email, phone, SMS, geographic, and Wi-Fi payloads.

Runtime compatibility

@qrcodesdk/core supports any JavaScript runtime providing native ESM, ES2020 support, and a global TextEncoder. It has no Node.js, DOM, filesystem, or framework dependency.

| Runtime | Support policy | | ------------------------------- | -------------------------------------------------- | | Node.js | All maintained LTS lines | | Deno | Current stable major | | Bun | Current stable release | | Browsers | Current evergreen browser families | | Other runtimes and edge workers | Supported when they meet the Core runtime contract |

For runtime-specific output, add the owning package:

| Package | Additional output | Output | | --------------------------------------------------------------- | ----------------------------------------------------------- | ----------------------------------------------- | | @qrcodesdk/browser | Canvas element, PNG-backed Image element, browser downloads | HTMLCanvasElement, HTMLImageElement, void | | @qrcodesdk/node | PNG bytes | Buffer | | @qrcodesdk/cli | Command line generation from terminals and scripts. | Terminal text, SVG files, PNG files. | | @qrcodesdk/react | React SVG, Image, and Canvas components | React element | | @qrcodesdk/vue | Vue SVG, Image, and Canvas components | Vue component | | @qrcodesdk/svelte | Svelte SVG, Image, and Canvas components | Svelte component | | @qrcodesdk/angular | Angular SVG, Image, and Canvas components | Angular component |

Compare every built-in output in Renderer outputs.

Public API

import {
  QRCodeBuilder,
  type QRCodeCenterImageOptions,
  type QRCodeColor,
  type QRCodeDataImageURL,
  QRCodeError,
  type QRCodeErrorCode,
  type QRCodeErrorCorrectionLevel,
  type QRCodeFinderShape,
  type QRCodeMask,
  type QRCodeMatrix,
  type QRCodeMatrixOptions,
  type QRCodeMode,
  type QRCodeModuleShape,
  type QRCodePayload,
  type QRCodeRenderer,
  type QRCodeSVGAccessibilityOptions,
  type QRCodeSVGCenterImageOptions,
  type QRCodeSVGOptions,
  QRCodeSVGRenderer,
  type QRCodeSVGRendererOptions,
  type QRCodeTextANSIBackgroundOptions,
  type QRCodeTextANSIOptions,
  QRCodeTextRenderer,
  type QRCodeTextRendererOptions,
  type QRCodeTextStyle,
  type QRCodeVersion,
  type QRCodeVisualStyle,
  createQRCodeStyler,
  qrcode,
} from '@qrcodesdk/core';
import type {
  QRCodeStyledDrawing,
  QRCodeStyledDrawingTarget,
  QRCodeStyler,
} from '@qrcodesdk/core/drawing';
import {
  type QRCodeEmailPayload,
  type QRCodeGeoPayload,
  type QRCodePhonePayload,
  type QRCodeSMSPayload,
  type QRCodeWiFiEncryption,
  type QRCodeWiFiPayload,
  emailPayload,
  geoPayload,
  phonePayload,
  smsPayload,
  wifiPayload,
} from '@qrcodesdk/core/payload';

Drawing types and payload helpers are deliberately not re-exported from the package root. Import them from the stable subpath entry points shown above.

Generated output stability

Output is deterministic for one installed implementation, but matrix modules, SVG markup, and PNG bytes may change between QRCodeSDK releases. Pin exact package versions and keep fixtures when exact artifacts matter. See the version and output policy.

Documentation