UDI Barcode Decoder
Decode UDI barcodes to extract device IDs, lot numbers and expiry dates
Our free UDI barcode decoder extracts Unique Device Identification data from medical-device labels, including the Device Identifier (UDI-DI) and any encoded Production Identifiers (UDI-PI). Production data may include a lot number, serial number, manufacturing date or expiry date. UDI data can use GS1, HIBC or ISBT 128 formats.
Need to decode UDI barcodes in your app?
Copy the example below to get started using our free Barcode Parser API. No API key needed.
barcode=$'\x1d0100312345678906\x1d17250101\x1d10LOT123\x1d21SN001'
curl -sS -G https://parser.orcascan.com/ \
--data-urlencode "barcode=$barcode" \
--data-urlencode 'type=udi'
// Node.js 18+
var barcode = "\u001d0100312345678906\u001d17250101\u001d10LOT123\u001d21SN001";
var url = "https://parser.orcascan.com/?barcode=" + encodeURIComponent(barcode) + "&type=udi";
fetch(url)
.then(function(res) { return res.json(); })
.then(console.log);
import json
from urllib.parse import quote
from urllib.request import urlopen
barcode = "\u001d0100312345678906\u001d17250101\u001d10LOT123\u001d21SN001"
url = "https://parser.orcascan.com/?barcode=" + quote(barcode, safe="") + "&type=udi"
with urlopen(url) as response:
print(json.load(response))
using System;
using System.Net.Http;
var barcode = "\u001d0100312345678906\u001d17250101\u001d10LOT123\u001d21SN001";
var url = "https://parser.orcascan.com/?barcode=" + Uri.EscapeDataString(barcode) + "&type=udi";
using var client = new HttpClient();
Console.WriteLine(await client.GetStringAsync(url));
package main
import (
"io"
"net/http"
"net/url"
"os"
)
func main() {
barcode := "\u001d0100312345678906\u001d17250101\u001d10LOT123\u001d21SN001"
endpoint := "https://parser.orcascan.com/?barcode=" + url.QueryEscape(barcode) + "&type=udi"
res, err := http.Get(endpoint)
if err != nil { panic(err) }
defer res.Body.Close()
io.Copy(os.Stdout, res.Body)
}
<?php
$barcode = "\x1d0100312345678906\x1d17250101\x1d10LOT123\x1d21SN001";
$url = "https://parser.orcascan.com/?barcode=" . rawurlencode($barcode) . "&type=udi";
echo file_get_contents($url);
import java.net.URI;
import java.net.URLEncoder;
import java.net.http.*;
import java.nio.charset.StandardCharsets;
class BarcodeParser {
public static void main(String[] args) throws Exception {
String barcode = "\u001d0100312345678906\u001d17250101\u001d10LOT123\u001d21SN001";
String url = "https://parser.orcascan.com/?barcode=" +
URLEncoder.encode(barcode, StandardCharsets.UTF_8) + "&type=udi";
var request = HttpRequest.newBuilder(URI.create(url)).build();
var response = HttpClient.newHttpClient().send(
request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
<!doctype html>
<html>
<body>
<pre id="result">Loading...</pre>
<script>
var barcode = "\u001d0100312345678906\u001d17250101\u001d10LOT123\u001d21SN001";
var url = "https://parser.orcascan.com/?barcode=" + encodeURIComponent(barcode) + "&type=udi";
fetch(url)
.then(function(res) { return res.json(); })
.then(function(json) {
document.getElementById("result").textContent = JSON.stringify(json, null, 2);
});
</script>
</body>
</html>
Need to decode lots of UDI barcodes?
Import a spreadsheet of barcodes and automatically extract their data into separate columns.
Decode barcodes in bulk →Need to extract UDI data as you scan?
Scan barcodes with your phone and automatically capture their data in a shared spreadsheet.
Scan with your phone →Frequently asked questions
What is the difference between UDI-DI and UDI-PI?
The Device Identifier (DI) identifies a device version or model. Production Identifiers (PI), when encoded, may include a lot, serial number, manufacturing date or expiry date.
Why can a UDI decoder recognise GS1, HIBC or ISBT 128 data?
UDI is an identification framework, not a single barcode symbology. Different issuing-agency formats encode the DI and PI using their own field and separator rules.
Can a UDI be encoded in a Data Matrix barcode?
Yes. UDI information can be represented in two-dimensional symbols such as Data Matrix, or in suitable linear symbols. The symbology and the encoded UDI data structure are separate things.
Need help tracking UDI barcodes?
We've helped organizations of all sizes tackle barcode challenges, chat with our team live for help to find a solution.