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

Croatia (HR) IBAN & Bank Routing Validator

Instant sub-1ms ISO 13616 MOD-97 checksum validation, BBAN decomposition, and bank routing extraction for Croatia (HR) bank accounts.

Official Regulatory Standard & Verification Protocol Authority: SWIFT & ISO 13616 IBAN Registry ↗

Quick Technical Summary: Instant sub-1ms ISO 13616 MOD-97 checksum validation, BBAN decomposition, and bank routing extraction for Croatia (HR) bank accounts. Implementation conforms to ISO 13616 / ISO 7064 MOD-97-10.

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

Specification & Structural Breakdown

In Croatia, the International Bank Account Number (IBAN) has a fixed length of 21 alphanumeric characters starting with the two-letter ISO 3166-1 alpha-2 country code 'HR', followed by two MOD-97 check digits.

The National Basic Bank Account Number (BBAN) follows the official pattern: 17n. The national bank code is located at BBAN character offset [0:7].

Validation computes the ISO 7064 Modulo-97-10 checksum by transposing the first 4 characters to the end, converting letters to numeric digits (A=10, ..., Z=35), and calculating arithmetic integer modulo 97 (must equal 1).

AttributeValueDescription
Country CodeHRISO 3166-1 alpha-2
Total IBAN Length21 charactersFixed standard length
BBAN Format17nNational structure (n=numeric, a=alpha, c=alphanumeric)
SEPA ZoneYes (Single Euro Payments Area)SEPA compliance status
Bank Code PositionBBAN Offset 0 (7 chars)National clearing code
Branch Code PositionN/ABranch identification
Interactive Edge Validator

Test Croatia (HR) IBAN & Bank Routing Validator 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
{
  "valid": true,
  "iban": "HR00...",
  "countryCode": "HR",
  "countryName": "Croatia",
  "length": 21,
  "bban": "17n",
  "sepa": true,
  "checksumValid": true,
  "bankCode": "XXXX"
}

Copy-Paste Integration Code

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

cURL
curl --request POST \
  --url "https://global-iban-bic-swift-bank-routing-validator-api.stanzaapi.com/api/v1/iban/validate" \
  --header "Content-Type: application/json" \
  --header "x-api-key: YOUR_API_KEY" \
  --data '{
  "iban": "DE89370400440532013000"
}'
Node.js (Fetch)
const response = await fetch("https://global-iban-bic-swift-bank-routing-validator-api.stanzaapi.com/api/v1/iban/validate", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "x-api-key": process.env.API_KEY || "YOUR_API_KEY"
  },
  body: JSON.stringify({
  "iban": "DE89370400440532013000"
})
});

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

url = "https://global-iban-bic-swift-bank-routing-validator-api.stanzaapi.com/api/v1/iban/validate"
headers = {
    "Content-Type": "application/json",
    "x-api-key": "YOUR_API_KEY"
}
payload = {
    "iban": "DE89370400440532013000"
}

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://global-iban-bic-swift-bank-routing-validator-api.stanzaapi.com/api/v1/iban/validate"
	payload := []byte(`{"iban":"DE89370400440532013000"}`)

	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

How many characters is an IBAN in Croatia?

An official IBAN in Croatia (HR) is exactly 21 characters in length. Any shorter or longer value fails ISO 13616 validation.

Is Croatia part of the SEPA payment network?

Croatia is a member of the Single Euro Payments Area (SEPA), enabling low-cost euro bank transfers.

How is the MOD-97 check digit calculated for HR IBANs?

The first 4 characters are moved to the end, letters are converted to numbers (A=10 to Z=35), and the resulting number is evaluated with modulo 97 arithmetic. A valid IBAN yields a remainder of exactly 1.

Related Global IBAN, BIC/SWIFT & Bank Routing Validator API Formats

Explore sibling specifications and standards in the same developer cluster: