# shane32/qrcoder

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/shane32-qrcoder).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

5,176 stars · 1,174 forks · C# · MIT

## Links

- GitHub: https://github.com/Shane32/QRCoder
- awesome-repositories: https://awesome-repositories.com/repository/shane32-qrcoder.md

## Topics

`barcode` `c-sharp` `csharp` `girocode` `qrcode` `qrcode-generator` `qrcoder-generator` `swissqrcode`

## Description

QRCoder is a QR code generator library for .NET, written entirely in managed C# with no native libraries or third-party packages. It encodes text and structured payloads into a module matrix, choosing numeric, alphanumeric, or byte packing, picking the smallest version that fits (or a version you fix), and adding Reed-Solomon error correction at one of four selectable levels. It can also produce compact Micro QR codes within each version's limits on capacity and error correction.

What sets it apart is the breadth of its payload and output options. A set of payload generators formats WiFi logins, contacts, calendar events, email, SMS, phone calls, web links, map locations, and one-time-password secrets into strings that trigger a specific action when scanned. It also builds payment requests for popular cryptocurrencies and regional bank transfer schemes. Developers can add their own payload types by implementing a common interface, or read and modify the module matrix directly to build custom renderers or analysis tools.

The same module matrix feeds separate renderer classes that output bitmaps, Base64 images, PNG or bitmap byte arrays, scalable vector graphics, XAML, PDF, PostScript, Unity textures, and plain text. An artistic image renderer supports background images and module shapes such as dots. Renderers that depend on a specific graphics system are shipped as optional add-on packages, so the core library carries no imaging dependency. Text encoding can be controlled, including forced UTF-8 and an optional byte order mark.

## Tags

### Part of an Awesome List

- [QR Code Generation](https://awesome-repositories.com/f/awesome-lists/media/qr-code-generation.md) — Pure managed C# library that encodes text and structured payloads into QR codes with no native dependencies.
- [Payment Request Creation](https://awesome-repositories.com/f/awesome-lists/data/payment-infrastructure/payment-invoices/payment-request-creation.md) — Builds cryptocurrency and regional bank transfer payment requests so a scanning wallet or banking app opens prefilled.
- [Micro QR Code Libraries](https://awesome-repositories.com/f/awesome-lists/media/qr-code-generation/micro-qr-code-libraries.md) — Generates compact Micro QR codes in the small version sizes, within each version's capacity and error correction limits. ([source](https://github.com/shane32/qrcoder#readme))

### Graphics & Multimedia

- [QR Code Generators](https://awesome-repositories.com/f/graphics-multimedia/qr-code-generators.md) — Encodes text and structured payloads into QR codes with a generator object and renders them as images ready to save, print, or display. ([source](https://github.com/Shane32/QRCoder/wiki/How-to-use-QRCoder))
- [Output Format Renderers](https://awesome-repositories.com/f/graphics-multimedia/output-format-renderers.md) — Provides separate renderer classes that convert the same module matrix into bitmaps, vectors, PDF, PostScript, or plain text.
- [Standardized QR Payloads](https://awesome-repositories.com/f/graphics-multimedia/qr-code-generators/standardized-qr-payloads.md) — Includes payload generators formatting WiFi logins, contacts, calendar events, email, SMS, locations, and one-time-password secrets into scannable strings.
- [QR Code Rendering](https://awesome-repositories.com/f/graphics-multimedia/qr-code-rendering.md) — Feeds one module matrix to separate renderers producing images, vector graphics, PDF, PostScript, XAML, textures, and plain text. ([source](https://github.com/shane32/qrcoder#readme))
- [Multi-Format Rendering Engines](https://awesome-repositories.com/f/graphics-multimedia/qr-code-rendering/multi-format-rendering-engines.md) — Ships separate renderers turning one module matrix into bitmaps, SVG, PDF, PostScript, XAML, Unity textures, Base64 images, or text.
- [QR Code Bitmap Outputs](https://awesome-repositories.com/f/graphics-multimedia/bitmap-rendering/qr-code-bitmap-outputs.md) — Produces pixel-based bitmap images of the QR code to display in applications, save as files, or offer as downloads. ([source](https://github.com/Shane32/QRCoder/wiki/Advanced-usage---QR-Code-renderers))
- [Payment QR Codes](https://awesome-repositories.com/f/graphics-multimedia/qr-code-generators/payment-qr-codes.md) — Formats cryptocurrency and regional bank transfer details into payload strings so scanning opens a banking or wallet app with a prefilled payment. ([source](https://github.com/shane32/qrcoder#readme))
- [Scan-Based Device Setup](https://awesome-repositories.com/f/graphics-multimedia/scan-based-device-setup.md) — Encodes WiFi logins, authenticator secrets, contacts, and calendar events so scanning sets them up without typing.
- [Scan-Triggered App Actions](https://awesome-repositories.com/f/graphics-multimedia/scan-triggered-app-actions.md) — Builds codes that open email, SMS, phone calls, web pages, or map locations with recipient and content prefilled.

### Networking & Communication

- [QR Code Encoders](https://awesome-repositories.com/f/networking-communication/binary-data-encoding/qr-code-encoders.md) — Encodes data using numeric, alphanumeric, or byte packing, picks the smallest fitting version, and adds Reed-Solomon error correction at four levels.

### Security & Cryptography

- [Error Correction Codes](https://awesome-repositories.com/f/security-cryptography/error-correction-codes.md) — Computes Reed-Solomon check codewords over data blocks so damaged QR codes can still be decoded at the chosen correction level.
- [QR Code Error Correction Level Selectors](https://awesome-repositories.com/f/security-cryptography/error-correction-codes/barcode-redundancy-levels/qr-code-error-correction-level-selectors.md) — Lets callers pick one of four error correction levels to trade data density against how much damage a code can survive. ([source](https://github.com/Shane32/QRCoder/wiki/How-to-use-QRCoder))

### Web Development

- [QR Action Payload Generators](https://awesome-repositories.com/f/web-development/qr-action-payload-generators.md) — Builds specially formatted payload strings that trigger predefined actions when scanned, validating input before the code is created. ([source](https://github.com/Shane32/QRCoder/wiki/Advanced-usage---Payload-generators))
- [QR Code Module Matrix Renderers](https://awesome-repositories.com/f/web-development/rendering-templating/rendering-patterns/qr-code-module-matrix-renderers.md) — Produces a grid of dark and light modules that every renderer and analysis tool reads as the single shared data structure.
- [Structured Scan Action Formats](https://awesome-repositories.com/f/web-development/structured-scan-action-formats.md) — Formats WiFi logins, links, email, messages, contacts, events, and locations into strings ready to embed in a QR code. ([source](https://github.com/shane32/qrcoder#readme))

### Software Engineering & Architecture

- [QR Code Numeric Alphanumeric Encoders](https://awesome-repositories.com/f/software-engineering-architecture/data-encoders-and-decoders/qr-code-numeric-alphanumeric-encoders.md) — Chooses numeric, alphanumeric, or byte packing per payload, with UTF-8 and byte order mark handling, to fit text into the fewest bits.
- [Rendering Architectures](https://awesome-repositories.com/f/software-engineering-architecture/modular-architectures/modular-state-architectures/rendering-architectures.md) — Uses separate interchangeable renderer classes that each turn the same module matrix into bitmap, vector, PDF, PostScript, or text output.
- [Payload Generator Interfaces](https://awesome-repositories.com/f/software-engineering-architecture/payload-generator-interfaces.md) — Defines one common interface that all payload types implement and return a final string, so built-in and custom formats feed the encoder identically.
