Bill of Lading Parser

Bill of lading OCR — extract shipper, consignee, carrier, ports, and cargo details into JSON, CSV, Excel, or XML.

Drag & drop your document here

Supports PDF, JPG, PNG, WEBP

A bill of lading is the document that holds an ocean or inland freight movement together, and Docyield's parser pulls every field off it — the B/L number, the shipper and consignee, the carrier and vessel, the ports, and the cargo lines — into structured data you can file, route, or import. Upload a carrier-issued PDF or a photo of a paper original and you get JSON, CSV, Excel, or XML back in seconds, instead of squinting at a dense form and copying box by box into your TMS.

Because the bill of lading doubles as a receipt for the goods, a contract of carriage, and often a document of title, the data on it has to be exactly right. Docyield reads the form the way an operator does — it knows the consignee is not the notify party and that the port of loading is distinct from the port of discharge — so it places each value in the correct field even when a line keeps its own house layout that looks nothing like the next one.

Inputs
PDF, JPG, PNG, WEBP
Outputs
JSON · CSV · Excel · XML
Price
Free · no signup

What a bill of lading is and where it sits in a shipment

The bill of lading (B/L) is issued by the carrier or its agent once cargo is received for shipment. It records who is sending the goods, who is to receive them, where the consignment was loaded and where it will be discharged, and a description of what is inside — packages, weights, and marks. As a transferable document of title, the original B/L can control who is entitled to collect the cargo at the destination, which is why it is treated with more care than almost any other freight paper.

In a typical move, the B/L is generated after booking and loading, travels alongside the commercial invoice and packing list, and is presented at destination to take delivery. Forwarders, carriers, and importers all reference its number to track the consignment, release cargo, and reconcile against the booking. Getting that data into a system quickly and accurately is what keeps a container moving rather than sitting on demurrage.

Why structured extraction beats manual keying

Operations teams often rekey bill of lading details into a transport management system or a customs filing, and that manual step is slow and error-prone. A transposed B/L number or a consignee typed into the notify field can delay a release or misroute a document. Pulling the data structurally removes the keystroke entirely: the value is read once and mapped to a named field.

Plain OCR does not get you there. It returns the text on the page but leaves you to decide which block is the shipper and which the consignee, and to untangle the cargo table from the freight terms. Docyield interprets the layout and hands back labelled fields, so a downstream import can trust that 'portOfDischarge' always means the same thing across every carrier's form you process.

Who uses a bill of lading parser

  • Freight forwarders and NVOCCs capturing B/L data into their TMS without manual entry.
  • 3PLs and warehouse operators logging inbound consignments against expected arrivals.
  • Importers and exporters reconciling bills of lading against bookings and commercial invoices.
  • Customs brokers pulling shipper, consignee, and cargo details for entry filings.
  • Ops and documentation teams converting stacks of scanned B/Ls into a spreadsheet for audit.
  • Software teams adding B/L capture to a logistics platform through a single API call.

Accuracy, blanks, and review

We never claim perfect extraction, and any vendor that does is glossing over the hard cases. Docyield aims to be accurate on clear documents and honest about the rest. When a field is genuinely not present on the B/L — say the notify party is left blank — it comes back empty rather than filled with a guess, because a fabricated consignee on a title document is far worse than a known gap.

Scan quality drives results. A crisp PDF from the carrier reads cleanly; a faxed-and-rescanned original with stamps over the cargo description is harder. For the small share of documents that arrive degraded, a quick human check against the source — which sits beside the extracted data — catches anything that needs a second look before it flows downstream.

Handling the cargo table and multi-page bills

The goods section is where bills of lading differ most. Some list a single consolidated line; others break the consignment into many rows with separate package counts, types, and weights, and the table can continue onto a second or third page. Docyield reads the cargo lines as a repeating structure, returning each row with its description, quantity, package type, and weight, and keeps the total gross weight separate so summary and detail never get confused.

Master and house bills, telex-release stamps, and continuation sheets all add clutter that a fixed template chokes on. Reading the document in context means the parser follows the cargo table across pages and ignores boilerplate, so a long multi-container B/L extracts as completely as a single-line one.

Output formats, API, and batch

Every parse is available as JSON, CSV, Excel, or XML from the same result. JSON drops straight into a logistics platform; CSV and Excel suit ops teams reconciling arrivals in a spreadsheet; XML fits older EDI-adjacent or ERP imports that expect a structured feed. The free tool takes one document at a time, which is perfect for the occasional B/L that lands by email.

When the volume grows — a forwarder processing hundreds of bills a week — the same extraction runs through the Docyield API and batch dashboard, with webhook delivery and your own validation rules. The schema you see in the free tool is exactly what the API returns, so moving from a manual upload to an automated pipeline changes nothing about the field names you have already built against.

How it differs from related shipping documents

It is easy to lump shipping paperwork together, but each piece does a distinct job. A bill of lading is the carrier's receipt and contract of carriage for sea or inland freight and can act as title to the goods. An air waybill plays a similar role for air cargo but is not a document of title. A packing list details what is in each carton, and a commercial invoice states the values for sale and customs. Docyield keeps a dedicated parser for each so the fields match the document you actually hold rather than forcing a B/L into a generic template.

What the bill of lading parser extracts

Each bill of lading is returned against a fixed schema. Fields not present on a given document come back empty rather than guessed.

B/L number
The bill of lading number or identifier.
Shipper
The shipper or consignor — the party sending the goods.
Consignee
The party named to receive the goods at destination.
Notify party
The party to be notified on arrival, where one is listed.
Carrier
The carrier or shipping line transporting the cargo.
Vessel / voyage or flight
The vessel name and voyage, or flight number.
Port of loading
The port or place where the cargo was loaded or received.
Port of discharge
The port or place of discharge or final delivery.
Date of issue
The date the bill of lading was issued.
Freight terms
Whether freight is prepaid, collect, or otherwise stated.
Goods
Each cargo line, with description, quantity, package type, and weight.
Total weight
The total gross weight, with its unit where given.

How to convert a bill of lading to JSON, CSV, or Excel

  1. 1Upload your bill of lading — drop a PDF, PNG, JPG, or WEBP onto the box above, or click to choose a file.
  2. 2Give Docyield a few seconds to read the form and extract the shipping and cargo fields.
  3. 3Review the structured result and confirm the consignee, ports, and cargo lines against the original.
  4. 4Pick your output tab — JSON, CSV, Excel, or XML.
  5. 5Copy the result or download the file, ready to import into your TMS or filing system.

Frequently asked questions

Processing documents at scale?

Batch upload, an extraction API, and webhooks for 100+ documents a month.

View the API

Related tools