Hull Identification Number (HIN) Format Explained

Decode a 12-character boat HIN: manufacturer identification code, serial number, production month, and model year, with examples.

Twelve characters

A US HIN has 12 characters: a three-character manufacturer identification code (MIC), a five-character serial number, a production month letter and year digit, and the two-digit model year.

Extracting It Automatically

When you read this data from photos, the HIN OCR API returns it as structured JSON, and you can apply the rules on this page as validation. Try it with the free scanner.

Where This Fits

  • Production month: Letters A to L represent January to December, followed by the last digit of the production year.
  • Where it is: The primary HIN is on the starboard side of the transom, near the top; a duplicate is placed in an unexposed location on the hull.
Need more testing? Create a free account to get 200 free credits (equals 200 HIN scans).

Extract It with the API

Read the document from a photo and validate the returned fields.

Prerequisite: Python 3.9+, `pip install requests`, and a STRUCTOCR_API_KEY

PYTHON EXAMPLE
import base64
import os
import requests

with open("hull.jpg", "rb") as image_file:
    image = base64.b64encode(image_file.read()).decode("ascii")

response = requests.post(
    "https://api.structocr.com/v1/hin",
    headers={"x-api-key": os.environ["STRUCTOCR_API_KEY"]},
    json={"img": image},
    timeout=30,
)
response.raise_for_status()
data = response.json()["data"]
print("hin_number:", data.get("hin_number"))
print("is_valid:", data.get("is_valid"))
print("parsed:", data.get("parsed"))

Technical Specs

  • •Endpoint: POST https://api.structocr.com/v1/hin
  • •Authentication: x-api-key request header
  • •Inputs: JPG, PNG, or WebP as Base64 JSON; maximum 4.5MB
  • •Price: 1 credit per successful request; failed requests are not billed
  • •Free trial: 200 free credits on sign-up, no credit card required

Key Features

  • •Production month: Letters A to L represent January to December, followed by the last digit of the production year.
  • •Where it is: The primary HIN is on the starboard side of the transom, near the top; a duplicate is placed in an unexposed location on the hull.
  • •Validate after OCR: Apply these rules to API output before storing it.

Reference Summary

Key facts from this page in structured form, for quick lookup.

{
  "Twelve characters": "A US HIN has 12 characters: a three-character manufacturer identification code (MIC), a five-character serial number, a production month letter and year digit, and the two-digit model year..",
  "Production month": "Letters A to L represent January to December, followed by the last digit of the production year..",
  "Where it is": "The primary HIN is on the starboard side of the transom, near the top; a duplicate is placed in an unexposed location on the hull.."
}

Frequently Asked Questions

Do HINs have a country prefix?

Some documents show a country code such as US- before the 12 characters.

What does the API return?

The HIN API returns the HIN, a validity flag, and parsed manufacturer code, serial, production month, and model year.

You May Also Like

Related tutorials, platform guides, and comparisons

Tutorial

Python HIN OCR API SDK

Tutorial: Extract HIN using the StructOCR Python SDK. Upload an image for a free test! Perfect for marine data pipelines, ETL workflows, and automated watercraft valuations.

Python · HIN
Tutorial

Node.js HIN OCR API SDK

Tutorial: How to extract HIN using the StructOCR Node.js SDK. Upload an image for a free test! Learn to parse marine data in Express or serverless environments.

Node.js · HIN
Tutorial

Go HIN OCR API

Upload an image for a free test! Tutorial: Learn how to build a robust Go application to extract structured data from Hull Identification Numbers (HIN). Features Golang code examples and marine OCR solutions.

Go · HIN
Tutorial

Java HIN OCR API

Upload an image for a free test! Tutorial: Learn how to integrate the StructOCR API into your Java enterprise applications to extract structured data from Hull Identification Numbers (HIN).

Java · HIN
Tutorial

C# HIN (Hull Identification Number) OCR API

Upload an image for a free test! Tutorial: How to use the StructOCR C# Client to extract structured data from Hull Identification Numbers (HIN). Includes complete code samples, JSON schema, and marine-optimized solutions.

C# · HIN
Tutorial

Honda VIN Location and VIN OCR API

Where to find the VIN on a Honda, what its first characters mean, and how to read it from a photo with an API and decode the model year.

VIN
Country Tutorial

Indonesia KTP (e-KTP) OCR Python SDK

Python Tutorial: Automate KYC in Indonesia. Extract data from KTP (e-KTP) using StructOCR Python SDK. Supports native text.

Python · ktp (e-ktp)
Country Tutorial

Irish Passport OCR with Node.js SDK

Use the StructOCR Node.js SDK and TypeScript + Express to extract visible identity, validity and MRZ fields from Irish passports.

Node.js · Passport
Country Tutorial

Indonesia Passport OCR with Python SDK

Use the official StructOCR Python SDK and FastAPI to extract structured MRZ and VIZ data from Indonesia passports with a server-side integration.

Python · Passport
Country Tutorial

Indonesia Passport OCR with Node.js SDK

Use the official StructOCR Node.js SDK with TypeScript and Express to extract structured MRZ and VIZ data from Indonesia passports.

Node.js · Passport

Technical Comparisons & Integrations

Explore platform integrations and competitive analysis

From tutorial to production in 5 minutes.

You've seen the code. Now get your API key, grab your 200 free credits, and see it work with your own images. No credit card required.

Instant Access Cancel Anytime No Credit Card