EDGE ENGINE Sub-2ms Deterministic V8 Execution • Zero Data Retention Explore API Specs →
Latency: <1ms Edge Availability: 99.99% Standard: ISO 6346 Clause 3 V8 Pure Compute

ISO 6346 Modulo-11 Shipping Container Check Digit Formula & Step-by-Step

Step-by-step Modulo-11 check digit calculation for 11-character intermodal container numbers.

Official Regulatory Standard & Verification Protocol Authority: Bureau International des Conteneurs (BIC) & ISO ↗

Quick Technical Summary: Step-by-step Modulo-11 check digit calculation for 11-character intermodal container numbers. Implementation conforms to ISO 6346 / BIC Container Prefix Coding.

Execution SLA
<1ms Edge (Cloudflare V8)
Governing Norm
ISO 6346 Clause 3
Throughput Limit
512 KB / Payload
Data Privacy
100% In-Memory (Zero Store)

Specification & Structural Breakdown

The 11th digit is a check digit calculated using powers of 2 weights (2^0 to 2^9) with letters converted to values where multiples of 11 (11, 22, 33) are excluded.

LettersAssigned ValuesRule
A - J10, 12, 13, 14, 15, 16, 17, 18, 19, 2011 is skipped
K - U21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 3222 is skipped
V - Z34, 35, 36, 37, 3833 is skipped
Interactive Edge Validator

Test ISO 6346 Modulo-11 Shipping Container Check Digit Formula & Step-by-Step Live

Paste raw inputs up to 32KB and inspect deterministic parsed JSON in real-time across 330+ Cloudflare edge locations. Pure compute, zero cold-starts.

Launch Workbench →

Parsed JSON Response Model

The edge microservice transforms input payloads into strongly-typed hierarchical JSON with zero cold starts:

HTTP 200 JSON Payload
{
  "containerNumber": "CSQU3054383",
  "checkDigit": 3,
  "checkDigitCalculated": 3,
  "valid": true
}

Copy-Paste Integration Code

Integrate this validator directly into your application using your production API key:

cURL
curl --request POST \
  --url "https://iso-6346-container-chassis-check-digit-validator.stanzaapi.com/api/v1/container/validate" \
  --header "Content-Type: application/json" \
  --header "x-api-key: YOUR_API_KEY" \
  --data '{
  "containerNumber": "CSQU3054383",
  "sizeTypeCode": "45G1"
}'
Node.js (Fetch)
const response = await fetch("https://iso-6346-container-chassis-check-digit-validator.stanzaapi.com/api/v1/container/validate", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-api-key": process.env.API_KEY || "YOUR_API_KEY"
  },
  body: JSON.stringify({
  "containerNumber": "CSQU3054383",
  "sizeTypeCode": "45G1"
})
});

const data = await response.json();
console.log(data);
Python (Requests)
import requests
import json

url = "https://iso-6346-container-chassis-check-digit-validator.stanzaapi.com/api/v1/container/validate"
headers = {
    "Content-Type": "application/json",
    "x-api-key": "YOUR_API_KEY"
}
payload = {
    "containerNumber": "CSQU3054383",
    "sizeTypeCode": "45G1"
}

response = requests.post(url, json=payload, headers=headers)
print(response.json())
Go
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	url := "https://iso-6346-container-chassis-check-digit-validator.stanzaapi.com/api/v1/container/validate"
	payload := []byte(`{"containerNumber":"CSQU3054383","sizeTypeCode":"45G1"}`)

	req, _ := http.NewRequest("POST", url, bytes.NewBuffer(payload))
	req.Header.Add("Content-Type", "application/json")
	req.Header.Add("x-api-key", os.Getenv("API_KEY"))

	res, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)
	fmt.Println(string(body))
}

Frequently Asked Questions & Technical Notes

What happens if the modulo 11 remainder is 10?

According to ISO 6346, if the remainder is 10, the check digit is designated as 0.

Related ISO 6346 Container & Chassis Check-Digit Validator API Formats

Explore sibling specifications and standards in the same developer cluster: