ON-DEVICE SDK · iOS · ANDROID

Barcode generation, 100% on-device.

Pass in a string, get back a print-ready bitmap. The SDK generates Code 128 barcodes and QR codes on iOS, Android, Flutter and React Native. It all runs on the phone, so no data leaves the device.

iOS, Android, Flutter & React Native Code 128 barcodes & QR codes 100% on-device, nothing leaves the phone
WHAT IT DOES

Code 128 & QR as a ready-to-print image

  • ✓ Code 128 barcodes from any string, generated on-device
  • ✓ QR codes from a URL, plain text, or any payload string
  • ✓ Returns a ready-to-print bitmap you can display, save, or send to a printer
  • ✓ Add human-readable text under the bars automatically
  • ✓ Runs 100% on-device, with no network call or server round trip
  • ✓ Native iOS, Android, Flutter and React Native bindings
java
// Generate a Code 128 barcode, fully on-device
OpticalCodeHelper codes = new OpticalCodeHelper(this);
Bitmap code128  = codes.GenerateBarcode("8901234567890");          // Code 128
Bitmap labelled = codes.GenerateBarcodeWithText("8901234567890");  // Code 128 + text below
imageView.setImageBitmap(code128);
USE CASES

Common scenarios

Label printing

Generate Code 128 or QR labels on a handheld and send them straight to a Bluetooth or thermal printer. No trip back to the office.

Asset tags

Encode asset IDs as compact QR tags that survive small print sizes, then verify them later with QR & barcode scanning.

Shipping labels

Render Code 128 shipping barcodes for cartons and parcels right at the packing bench.

Retail labels

Produce Code 128 shelf and price labels in-store on demand, with no server round trip.

Inventory SKUs

Turn SKU strings into scannable QR or Code 128 codes for bins, shelves, and racks.

Gate passes

Issue single-use QR gate passes on a phone screen for visitors and vehicles, alongside docs captured with Mobile Scanning.

PRICING

Priced for every team

Included in the SDK license. Pricing shown in your local currency.

Affordable to all

Barcode generation runs on the device, so there are no per-call server fees. One flat SDK rate covers a single kiosk or a fleet of thousands of handhelds.

See pricing →

FAQ

Common questions

What barcode formats can the SDK generate on-device?
It generates Code 128 barcodes and QR codes. You pass in a string and get back a rendered image for each — Code 128 for linear (1D) barcodes and QR for 2D codes. If you need to read a wider range of symbologies, that is handled separately by barcode scanning and QR scanning.
Which platforms does the barcode generation SDK support?
It runs natively on iOS, Android, Flutter and React Native. The same generation call — one that turns a string into a barcode or QR image — is available across all four, so a single integration approach covers every mobile target.
Does barcode generation work offline, with no network connection?
Yes. Every barcode and QR code is rendered entirely on the device, with no network call, upload, or server round trip. Because nothing leaves the phone, generation keeps working in airplane mode, warehouses, and other low-connectivity settings, and no encoded data is exposed to a backend.
Can I add human-readable text under a Code 128 barcode?
Yes. One generation call returns a plain Code 128 barcode, and a separate call returns the same barcode with the encoded value printed as human-readable text beneath the bars. This helps on shipping and asset labels where staff may need to read or key in the value by hand.
What can I encode in a generated QR code?
Any string. A QR code is generated from whatever text you pass in — a URL, plain text, an SKU, a UPI or payment string, Wi-Fi credentials, or a vCard — since each of these is just a formatted string. The SDK renders the payload into a scannable QR image on the device.
What format are the generated codes returned in, and can I print them?
Each code is returned as a ready-to-print bitmap image. You can display it on screen, save it to a file, or send it straight to a Bluetooth or thermal label printer. Because it is a standard image, it drops into existing label layouts and print flows without conversion.
What is the difference between generating and scanning barcodes with the SDK?
Generation creates Code 128 barcodes and QR codes from your data as printable images. Scanning is a separate feature that decodes a much broader set of symbologies from the live camera — including EAN, UPC, Code 39, ITF, PDF417, Data Matrix and Aztec — and returns the decoded value. Many apps use both: generate a label, then verify it later by scanning.
How is on-device barcode generation licensed and priced?
Barcode generation is included in the SDK license as a flat rate, with no per-code or per-call server fees because it runs on the device. One license covers a single kiosk or a fleet of thousands of handhelds. See the pricing page for current rates, or contact sales for volume licensing.

Try barcode generation with the free trial

Free signup credit. No card required.