Barcode Generator
Generate barcodes in multiple industry-standard formats. Returns a raw PNG image or base64-encoded JSON, supporting Code 128, Code 93, Code 39, EAN-8, and EAN-13.
Overview
Use Cases
- Product labeling and inventory management
- Retail point-of-sale systems
- Shipping and logistics labels
- Library and asset tracking systems
- Event ticketing and check-in workflows
Features
API Endpoints
Generate Barcode (PNG)
Returns a raw PNG image of the barcode. Ideal for direct embedding or file download.
https://api.requiems.xyz/v1/tech/barcode
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| data | string |
Required | The text or numeric string to encode in the barcode |
| type | string |
Required | Barcode format: code128, code93, code39, ean8, ean13 |
Try it out
Live DemoRequest
The text or numeric string to encode in the barcode
Barcode format: code128, code93, code39, ean8, ean13
Response Fields
| Field | Type | Description |
|---|---|---|
| (binary) | bytes |
Raw PNG image bytes. Content-Type is image/png. |
Code Examples
# Save a Code 128 barcode as PNG
curl "https://api.requiems.xyz/v1/tech/barcode?data=123456789&type=code128" \
-H "requiems-api-key: YOUR_API_KEY" \
--output barcode.png
# Save an EAN-13 barcode (12 digits, checksum auto-calculated)
curl "https://api.requiems.xyz/v1/tech/barcode?data=123456789012&type=ean13" \
-H "requiems-api-key: YOUR_API_KEY" \
--output barcode.png
import requests
url = "https://api.requiems.xyz/v1/tech/barcode"
headers = {"requiems-api-key": "YOUR_API_KEY"}
params = {"data": "123456789", "type": "code128"}
response = requests.get(url, headers=headers, params=params)
with open("barcode.png", "wb") as f:
f.write(response.content)
const params = new URLSearchParams({
data: '123456789',
type: 'code128'
});
const response = await fetch(
`https://api.requiems.xyz/v1/tech/barcode?${params}`,
{ headers: { 'requiems-api-key': 'YOUR_API_KEY' } }
);
const blob = await response.blob();
const imgUrl = URL.createObjectURL(blob);
require 'net/http'
uri = URI('https://api.requiems.xyz/v1/tech/barcode')
uri.query = URI.encode_www_form(data: '123456789', type: 'code128')
request = Net::HTTP::Get.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
File.write('barcode.png', response.body, mode: 'wb')
Error Responses
bad_request
Missing or invalid parameters (e.g. data not provided, unsupported type)
unprocessable_entity
Data is invalid for the chosen barcode type (e.g. wrong digit count for EAN-8/EAN-13, non-numeric EAN data)
Generate Barcode (Base64 JSON)
Returns a JSON envelope containing the barcode as a base64-encoded PNG string, along with its type and dimensions.
https://api.requiems.xyz/v1/tech/barcode/base64
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| data | string |
Required | The text or numeric string to encode in the barcode |
| type | string |
Required | Barcode format: code128, code93, code39, ean8, ean13 |
Try it out
Live DemoRequest
The text or numeric string to encode in the barcode
Barcode format: code128, code93, code39, ean8, ean13
Response Fields
| Field | Type | Description |
|---|---|---|
| image | string |
Base64-encoded PNG image data |
| type | string |
The barcode format that was used |
| width | integer |
Width of the generated image in pixels |
| height | integer |
Height of the generated image in pixels |
Code Examples
curl "https://api.requiems.xyz/v1/tech/barcode/base64?data=123456789&type=code128" \
-H "requiems-api-key: YOUR_API_KEY"
import requests
url = "https://api.requiems.xyz/v1/tech/barcode/base64"
headers = {"requiems-api-key": "YOUR_API_KEY"}
params = {"data": "123456789", "type": "code128"}
response = requests.get(url, headers=headers, params=params)
result = response.json()["data"]
print(f"Image (base64): {result['image'][:40]}...")
const params = new URLSearchParams({
data: '123456789',
type: 'code128'
});
const response = await fetch(
`https://api.requiems.xyz/v1/tech/barcode/base64?${params}`,
{ headers: { 'requiems-api-key': 'YOUR_API_KEY' } }
);
const { data } = await response.json();
// Use as an <img> src
document.getElementById('barcode').src = `data:image/png;base64,${data.image}`;
require 'net/http'
require 'json'
uri = URI('https://api.requiems.xyz/v1/tech/barcode/base64')
uri.query = URI.encode_www_form(data: '123456789', type: 'code128')
request = Net::HTTP::Get.new(uri)
request['requiems-api-key'] = 'YOUR_API_KEY'
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
data = JSON.parse(response.body)['data']
puts data['image'][0..39] + '...'
Error Responses
bad_request
Missing or invalid parameters (e.g. data not provided, unsupported type)
unprocessable_entity
Data is invalid for the chosen barcode type (e.g. wrong digit count for EAN-8/EAN-13, non-numeric EAN data)