What you're using right now
- 100+ barcode & QR symbologies
- Live preview & customization
- PNG & SVG export, no login
- Copy to clipboard
Loading Barcode Mintβ¦
Free Online Barcode & QR Code Generator
Turn a DPD tracking or parcel number into a scannable Code 128 barcode for shipping labels and depot handling.
Open the generator βTurn a CSV β or a numbered sequence β into hundreds of barcodes at once, exported as a ZIP of images or a print-ready PDF sheet. Launching with Pro.
The browser generator stays free forever. Paid plans are for teams who need bulk output and developers who need the REST API at scale β commercial license included. Tell us what you'd use; early-list members get first access and launch pricing.
What you're using right now
For designers & teams
Priced by requests. Commercial license and self-serve keys included; usage dashboard at launch.
DPD (Dynamic Parcel Distribution), one of Europe's largest parcel courier networks, prints a Code 128 barcode on its shipping labels to identify each parcel as it moves through sortation, depots, and last-mile delivery. The barcode itself isn't a unique DPD-only symbology — it's standard Code 128, a high-density linear barcode capable of encoding the full ASCII character set — but DPD (like most major couriers) applies its own data structure and check-digit rules to the string encoded inside it, similar to how UPS, FedEx, and DHL each define their own parcel number formats on top of Code 128 or GS1-128.
A DPD parcel/tracking number is typically a numeric string of 14 digits that identifies the depot, service type, and a unique sequence number for the shipment, often with a trailing check digit calculated by DPD's own algorithm to catch data entry or scanning errors. The exact byte layout (depot code, sequence range, check digit position) is internal to DPD's routing systems and varies by country and service level, so the practical approach when generating a DPD-compatible label is to encode the exact tracking number string DPD's shipping system or API has already generated for that parcel — you're not constructing the number yourself, just rendering it as a scannable barcode.
Because it's built on Code 128, the barcode can also carry additional data alongside the tracking number if your integration requires it, such as concatenated route or sort codes, since Code 128 supports full alphanumeric strings and switches automatically between its internal character subsets to keep the symbol as compact as possible.
Because the DPD parcel barcode is rendered in Code 128, it inherits that symbology's specifications: it can encode the full ASCII character set (letters, digits, punctuation), uses a mandatory weighted modulo-103 checksum built into Code 128 itself, and requires a defined quiet zone on both sides for reliable scanning. Layered on top of that is DPD's own numbering convention — typically a 14-digit numeric tracking reference with an internal check digit — which is a courier-specific business rule rather than part of the Code 128 standard. There's no separate "DPD barcode" specification published by a standards body; the format is effectively defined by DPD's own shipping and label-generation systems.
You'll find this barcode on DPD shipping labels affixed to parcels, on depot sortation manifests, on "Pickup" or "Parcelshop" drop-off receipts, and on internal DPD handling documents used to scan a parcel at each handover point — origin depot, hub, delivery depot, and courier handheld scanner. Businesses that ship through DPD's API or a shipping platform integrated with DPD typically receive a pre-formatted label (often a PDF or ZPL file) with the barcode already rendered, but there are cases — custom packing slips, internal tracking sheets, or replacement labels for damaged originals — where you need to generate the barcode yourself from a known tracking number.
Select DPD Barcode / DPD Parcel Label from the symbology list on the left, which renders your input using Code 128 encoding. Enter the tracking or parcel number exactly as provided by DPD (or your shipping platform), then:
/barcode?type=dpdlabel&data=0101234567890128 — to generate labels programmatically from your shipping or warehouse softwareParcel labels get handled roughly — tossed on conveyor belts, stacked, and scanned quickly at multiple points — so print quality and size matter. Use a thermal label printer at a resolution of at least 203 dpi, keep the barcode at least 1.5 inches wide for reliable handheld and conveyor-scanner reads, and always leave a clear quiet zone with no text, logos, or other barcodes overlapping it. Print human-readable digits below the bars so depot staff can key in the number manually if a label gets damaged or a scanner misreads it, and test your label on the same printer and label stock you'll use in production before running a full batch, since heat-transfer and direct-thermal printers can render bar widths slightly differently.
DPD's Code 128-based tracking barcode plays the same functional role as UPS's, FedEx's, and DHL's own tracking barcodes — all major couriers build their parcel-level barcode on either Code 128 or, for pallet and mixed shipment data, GS1-128 with structured application identifiers. The difference between them is purely in each courier's internal numbering scheme and check-digit algorithm, not in the underlying barcode symbology. If you're building a multi-courier shipping integration, you'll typically use the same Code 128 rendering path for all of them and simply swap in each courier's own tracking-number format and validation rules.