Frequently Asked Questions
Common questions about CodeGlyphX and QR/barcode generation in .NET.
General
What is CodeGlyphX?
CodeGlyphX is a pure-managed .NET library for generating and decoding QR codes, barcodes, and 2D matrix codes. It has no native graphics dependencies, and CI tests Windows, Linux, and macOS.
Which .NET versions are supported?
CodeGlyphX targets multiple frameworks for maximum compatibility:
- .NET 8.0 and .NET 10.0 - Full library surface with trim/AOT analyzers; CI executes a .NET 8 NativeAOT smoke application
- .NET Framework 4.7.2 - Legacy Windows compatibility with a reduced QR image fallback
- .NET Standard 2.0 - Older-runtime compatibility with a reduced QR image fallback
Is CodeGlyphX free to use?
Yes. CodeGlyphX is open source and licensed under the Apache License 2.0. You can use it freely in both commercial and non-commercial projects.
Does CodeGlyphX require native graphics dependencies?
No. CodeGlyphX does not require System.Drawing, SkiaSharp, ImageSharp, or a native codec library. The .NET 8.0 and .NET 10.0 package targets have no runtime package dependency.
.NET Standard 2.0 and .NET Framework 4.7.2 include the managed System.Memory package.
AOT & Trimming
Does CodeGlyphX work with Native AOT?
Yes for the supported modern targets. The library enables AOT analyzers for .NET 8.0 and .NET 10.0, and CI publishes and executes a .NET 8.0 NativeAOT consumer using the primary public APIs.
Is it trimming-safe?
The .NET 8.0 and .NET 10.0 targets enable the trim analyzer. Keep the analyzer enabled in consuming applications and treat any new warning as a release blocker.
Can I use it in single-file deployments?
Yes. The modern targets enable the single-file analyzer and do not require native codec libraries. Validate the exact set of APIs used by your application during publish.
Features & Capabilities
What code formats are supported?
CodeGlyphX supports a wide range of 1D and 2D codes:
- QR Codes: All versions (1-40), all error correction levels (L/M/Q/H)
- 1D Barcodes: Code 128, GS1-128, Code 39, Code 93, Code 11, Codabar, MSI, Plessey, EAN-13, EAN-8, UPC-A, UPC-E, ITF-14, ITF
- 2D Matrix: Data Matrix, PDF417, Aztec Code
Can I generate WiFi, vCard, or OTP QR codes?
Yes. CodeGlyphX includes built-in payload generators for common QR code use cases: WiFi network credentials, vCard contacts, email links, phone numbers, SMS messages, OTP/TOTP authenticator setup, SEPA/Girocode payments, and more.
Can I customize colors and shapes?
Yes. QR codes can be customized with custom foreground/background colors, different module shapes (square, circle, rounded), custom eye styles, and embedded logos. Barcodes support custom colors and sizing options.
Can CodeGlyphX decode/read barcodes?
Yes. CodeGlyphX can decode QR + 1D/2D barcodes from images. Supported image formats include PNG, JPEG, BMP, GIF, TIFF, PPM/PGM/PBM/PAM, TGA, ICO/CUR, XBM, and XPM. It can detect multiple codes in a single image.
Note: animated GIF is first-frame only; TIFF is baseline/strip-based.
What output formats are supported?
CodeGlyphX can output to PNG, JPEG, BMP, TGA, ICO, PPM/PGM/PBM/PAM, XBM/XPM, SVG/SVGZ, HTML, PDF, EPS, ASCII, and raw RGBA (API). The PNG encoder requires no external libraries.
Platform Support
Does it work with Blazor WebAssembly?
Yes. CodeGlyphX runs entirely in the browser via WebAssembly. The playground on this website demonstrates this - it generates codes in real-time using the actual CodeGlyphX library compiled to WASM. No server round-trips needed.
Does it work with .NET MAUI?
CodeGlyphX is pure managed and can be referenced by .NET MAUI applications without adding a native image-codec library. CI does not execute MAUI applications, so validate the APIs, trimming settings, and artifacts you use on each target device before shipping.
Can I use it in ASP.NET Core?
Yes. ASP.NET Core applications can return generated PNG or SVG data from controllers and minimal API endpoints, or generate artifacts in Razor Pages and background services. Apply input and image limits when accepting untrusted content.
Does it work in Azure Functions / AWS Lambda?
CodeGlyphX can run in serverless .NET workloads without a native image-codec library. Choose a supported target framework and validate cold-start time, memory limits, trimming or AOT settings, and the exact artifact in the hosting environment.
Performance
How fast is CodeGlyphX?
Performance depends on the symbology, output format, image size, decode profile, and input quality. Use the repository benchmarks as comparative evidence, then measure your own payloads and deployment target before setting latency or throughput expectations.
What about memory usage?
Memory use varies with raster dimensions, codec, and decode search profile. Set MaxBytes, MaxPixels, and MaxDimension for untrusted images, and measure representative batch workloads rather than assuming a fixed allocation profile.
Troubleshooting
My QR code won't scan. What's wrong?
Common reasons QR codes fail to scan:
- Low contrast: Ensure sufficient contrast between foreground and background colors
- Too small: QR codes need adequate size relative to scanning distance
- Error correction too low: Use higher error correction (Q or H) for printed/damaged codes
- Quiet zone missing: Leave white space around the code (CodeGlyphX adds this automatically)
I'm getting "invalid data" errors for barcodes
Each barcode type has specific character set and length requirements. For example, EAN-13 must be exactly 12 or 13 digits, UPC-A must be 11 or 12 digits, and Code 39 only supports uppercase letters and certain symbols. Check the documentation for the specific requirements of your barcode type.
Where can I get help?
For questions, bug reports, or feature requests, please open an issue on GitHub Issues. For documentation and examples, see the Documentation section.