PIN Barcode Decoder
Extract product identification numbers from heavy machinery barcodes
Our free machinery PIN barcode decoder reads Product Identification Numbers from construction and off-road equipment labels. A PIN identifies a machine rather than a retail product; earth-moving machinery can use the ISO 10261 numbering system. The manufacturer and serial information available depends on the equipment and numbering scheme.
Need to decode PIN barcodes in your app?
Copy the example below to get started using our free Barcode Parser API. No API key needed.
barcode=$'1LV3033RVPN109691'
curl -sS -G https://parser.orcascan.com/ \
--data-urlencode "barcode=$barcode" \
--data-urlencode 'type=pin'
// Node.js 18+
var barcode = "1LV3033RVPN109691";
var url = "https://parser.orcascan.com/?barcode=" + encodeURIComponent(barcode) + "&type=pin";
fetch(url)
.then(function(res) { return res.json(); })
.then(console.log);
import json
from urllib.parse import quote
from urllib.request import urlopen
barcode = "1LV3033RVPN109691"
url = "https://parser.orcascan.com/?barcode=" + quote(barcode, safe="") + "&type=pin"
with urlopen(url) as response:
print(json.load(response))
using System;
using System.Net.Http;
var barcode = "1LV3033RVPN109691";
var url = "https://parser.orcascan.com/?barcode=" + Uri.EscapeDataString(barcode) + "&type=pin";
using var client = new HttpClient();
Console.WriteLine(await client.GetStringAsync(url));
package main
import (
"io"
"net/http"
"net/url"
"os"
)
func main() {
barcode := "1LV3033RVPN109691"
endpoint := "https://parser.orcascan.com/?barcode=" + url.QueryEscape(barcode) + "&type=pin"
res, err := http.Get(endpoint)
if err != nil { panic(err) }
defer res.Body.Close()
io.Copy(os.Stdout, res.Body)
}
<?php
$barcode = "1LV3033RVPN109691";
$url = "https://parser.orcascan.com/?barcode=" . rawurlencode($barcode) . "&type=pin";
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 = "1LV3033RVPN109691";
String url = "https://parser.orcascan.com/?barcode=" +
URLEncoder.encode(barcode, StandardCharsets.UTF_8) + "&type=pin";
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 = "1LV3033RVPN109691";
var url = "https://parser.orcascan.com/?barcode=" + encodeURIComponent(barcode) + "&type=pin";
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 PIN barcodes?
Import a spreadsheet of barcodes and automatically extract their data into separate columns.
Decode barcodes in bulk →Need to extract PIN 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 format of an ISO 10261 machinery PIN?
An ISO 10261 Product Identification Number uses a 17-character alphanumeric identifier for a complete machine. A decoder should apply the applicable machinery numbering rules.
Is a machinery PIN encoded the same way as a vehicle VIN?
Not necessarily. ISO 10261 covers earth-moving machinery, while road-vehicle VINs follow separate numbering rules. Both may be 17 characters but their field meanings differ.
Why might a machinery PIN not decode into detailed fields?
Some manufacturers use different or proprietary numbering structures. Without the applicable field definitions, a decoder can read the identifier but cannot reliably assign meaning to every character.
Need help tracking PIN barcodes?
We've helped organizations of all sizes tackle barcode challenges, chat with our team live for help to find a solution.