| name | syncfusion-javascript-barcode |
| description | Generate scannable barcodes in web apps using Syncfusion JavaScript Barcode Generator (linear barcodes, QR Code, Data Matrix). Trigger for barcode rendering, sizing/margins, colors, text display, error correction, quiet zones, encoding options, validation, and exporting to PNG/JPG/PDF for e-commerce, inventory, labels, and document workflows. |
| metadata | {"author":"Syncfusion Inc","version":"33.1.44","category":"Data Visualization"} |
Implementing Syncfusion Barcode Generators
When to use this skill: You're building a web application that needs to generate, customize, and export barcodes (linear codes, QR codes, or Data Matrix codes). This includes point-of-sale systems, inventory management, ticketing systems, healthcare applications, or any solution requiring scannable codes.
Barcode Library Overview
The Syncfusion Barcode Generator library (@syncfusion/ej2-barcode-generator) provides three main barcode types:
- BarcodeGenerator: Create linear 1D barcodes (Code39, Code128, Codabar, Code11, Code32, Code93, Code128A/B/C)
- QRCodeGenerator: Create 2D QR codes with optional logos and error correction
- DataMatrixGenerator: Create 2D Data Matrix codes for industrial and retail applications
All three use the same core API: initialize with configuration, append to DOM, customize, and export.
Documentation & Navigation Guide
Getting Started
📄 Read: references/getting-started.md
- Installation and npm package setup
- Project configuration for System.js or bundlers
- Creating your first barcode with each generator type
- CSS imports and theming
- Basic DOM appending pattern
Barcode Types & Selection
📄 Read: references/barcode-types.md
- Linear barcode types: Code39, Code39 Extended, Code11, Codabar, Code32, Code93, Code128
- Character set limitations for each type
- When to use each barcode format
- Selection guide based on use case
QR Code Generation
📄 Read: references/qr-code-generation.md
- QR code basics (versions, modules, capacity)
- Creating QR codes with displayText
- Adding logos/icons to QR codes
- Error correction levels (Low, Medium, Quarter, High)
- Dynamic resizing and version management
Data Matrix Barcodes
📄 Read: references/data-matrix-codes.md
- Data Matrix overview and use cases
- Creating Data Matrix codes
- Encoding numeric vs. alphanumeric data
- Size selection and layout patterns
- Integration with inventory systems
Customization & Styling
📄 Read: references/customization-styling.md
- Barcode colors (foreColor, backgroundColor)
- Dimensions (width, height, responsive sizing)
- Display text customization (font, visibility, alignment)
- Render modes (SVG vs. Canvas)
- Advanced styling with CSS and theme integration
Export & Printing
📄 Read: references/export-printing.md
- Export to image formats (JPG, PNG)
- Export as Base64 string for storage
- Print functionality
- Download handling in browser
- Server-side integration patterns
Validation & Events
📄 Read: references/validation-events.md
- Input validation before barcode generation
- ValidateEvent handling
- Error prevention and edge cases
- Event-driven barcode updates
- Real-time validation patterns
Quick Start Example
import { BarcodeGenerator } from '@syncfusion/ej2-barcode-generator';
const barcode = new BarcodeGenerator({
width: '200px',
height: '150px',
type: 'Code128',
value: 'SYNCFUSION',
mode: 'SVG',
displayText: { visibility: true }
});
barcode.appendTo('#barcode');
import { QRCodeGenerator } from '@syncfusion/ej2-barcode-generator';
const qrCode = new QRCodeGenerator({
width: '200px',
height: '200px',
value: 'Your value here',
displayText: { visibility: false },
mode: 'SVG'
});
qrCode.appendTo('#qrcode');
import { DataMatrixGenerator } from '@syncfusion/ej2-barcode-generator';
const dataMatrix = new DataMatrixGenerator({
width: '200px',
height: '200px',
value: 'Syncfusion',
mode: 'SVG'
});
dataMatrix.appendTo('#datamatrix');
Common Patterns
Pattern 1: Type Selection
- Use
Code128 for general-purpose alphanumeric barcodes (most flexible)
- Use
QRCodeGenerator for URLs, contact info, or when logo branding is needed
- Use
DataMatrixGenerator for industrial labeling and small-space encoding
- Use
Code39 for legacy systems or when ASCII is sufficient
Pattern 2: Customization Pipeline
const barcode = new BarcodeGenerator({
type: 'Code128',
value: data,
width: '200px',
height: '150px',
mode: 'SVG',
foreColor: '#000000',
backgroundColor: '#ffffff',
displayText: { text: label }
});
barcode.appendTo('#element');
Pattern 3: Dynamic Export
barcode.exportImage('mybarcode', 'PNG');
const base64 = await barcode.exportAsBase64Image('JPG');
Pattern 4: Responsive Sizing
const barcode = new BarcodeGenerator({
width: '100%',
height: '150px',
type: 'Code128',
value: productCode
});
Key Props
| Property | Type | Default | Purpose |
|---|
type | string | 'Codabar' | Barcode type (Code39, Code128, etc.) |
value | string | '' | Data to encode in barcode |
width | string | '200px' | Barcode width (px or %) |
height | string | '150px' | Barcode height |
mode | string | 'SVG' | Render mode (SVG or Canvas) |
foreColor | string | '#000000' | Barcode color |
backgroundColor | string | '#ffffff' | Background color |
displayText | object | {} | Display text config (visibility, text, font) |
logo (QR only) | object | null | Logo config (imageSource, width, height) |
errorCorrectionLevel (QR only) | number | 0 | Error correction: 0=Low, 1=Medium, 2=Quarter, 3=High |
Common Use Cases
- Point of Sale: Generate product barcodes on-the-fly with Code128
- Inventory: Create shipment labels with Data Matrix for tracking
- Marketing: Generate QR codes pointing to promotional URLs
- Healthcare: Encode patient data in Code39 (legacy system compatible)
- E-commerce: Generate order numbers as Code128 barcodes for packing
- Ticketing: Create QR codes for event tickets with logo branding
- Document Management: Embed Data Matrix in PDFs for sorting/filing
Next Steps
Start with Getting Started to set up the library, then select your barcode type using Barcode Types. For customization needs, see Customization & Styling. For export/print workflows, see Export & Printing.