Full-Field France Vehicle Registration (Carte Grise) OCR
Test for free with image upload! Accurately extract all structured data—including VIN, Plate, and EU specific codes (J.1, P.6, V.9)—from the highly dense French Carte Grise.

The Challenge: Cryptic EU Codes and Fold Creases
The French vehicle registration certificate (Carte Grise / Certificat d'immatriculation) presents formidable OCR challenges. Like the German Fahrzeugschein, it is a multi-panel folded document, leading to physical creases that distort text in uploaded photos. Furthermore, it relies entirely on EU standard alphanumeric codes instead of explicit labels—for example, 'J.1' designates the vehicle class, 'P.6' is the national tax horsepower, and 'V.9' denotes the environmental class. Standard OCR engines extract these as random strings with no semantic context. Learn more about our robust semantic parsing capabilities on our Vehicle Registration OCR product page.
Semantic Parsing & Dynamic Fallback Delivery
StructOCR is specifically engineered to conquer the complexities of EU documents like the Carte Grise. Our engine uses advanced semantic Key-Value mapping to intelligently locate universal fields (VIN, Make) while effortlessly mapping cryptic EU fields. It seamlessly ignores dense security watermarks and reconstructs text across fold lines. Through our generic fallback architecture, these specialized codes are dynamically captured into a `localized.generic.unmapped_fields` object. Discover how this fits into broader cross-border workflows in our Vehicle Registration Solutions guide.
Live Demo: Vehicle Registration OCR
No registration required. Upload a file to test the extraction.
Drop files here or click to browse
JPG · PNG · WebP · up to 500 files · max 4.5 MB each
Core Industry Applications
Cross-Border Used Car Auctions
Power operations for pan-European platforms. Instantly ingest and verify French inventory by automatically extracting the VIN and tax horsepower from uploaded documents.
Digital Insurance Underwriting
Accelerate policy creation by automatically pulling exact vehicle details, environmental class (V.9), and horsepower directly from customer uploads.
Fleet Management & Compliance
Automate data entry for European fleet onboarding. Validate all vehicle specifications and emissions limits without manual data entry.
Automated Toll & Parking Systems
Streamline municipal parking permits and toll enforcement by automatically extracting and verifying vehicle registration dimensions and emission classes.
Technical Specs
- Dynamic Fallback Schema: Automatically extracts EU-specific alpha-numeric codes (like J.1, P.6) into a robust `unmapped_fields` node.
- Fold Line Correction: AI-driven reconstruction of characters distorted by the physical three-panel fold of the document.
- Hologram Immunity: Adaptive filtering to suppress visual noise from EU security elements.
- Free Testing: Start immediately with our interactive free image upload test in the dashboard.
Key Features
- Universal Fields: Extracts VIN, Plate, Make, Model, Year, and Color into standardized English nodes while preserving raw native text.
- EU Field Mapping: Contextually identifies and groups terse European regulation codes.
- Format Support: Processes JPG, PNG, and WebP images up to 4.5MB.
Integration & API Documentation
Easily integrate our full-field OCR API. For full technical details, visit our Developer API Documentation.
import requests
import base64
# 📸 Test for free with your own image upload: https://structocr.com/developers/vehicle-registration-ocr
with open("carte_grise.jpg", "rb") as image_file:
base64_image = base64.b64encode(image_file.read()).decode('utf-8')
url = "https://api.structocr.com/v1/vehicle-registration"
headers = {
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {
"img": base64_image
}
response = requests.post(url, headers=headers, json=payload)
result = response.json()
if result.get('success'):
data = result.get('data', {})
std = data.get('standardized', {})
print("✅ Standardized VIN:", std.get('vin'))
print("✅ Standardized Plate:", std.get('plate', {}).get('formatted'))
# EU specific codes are captured in the generic unmapped fields fallback
loc = data.get('localized', {})
if 'generic' in loc and loc['generic'].get('unmapped_fields'):
unmapped = loc['generic']['unmapped_fields']
print("✅ Vehicle Class (J.1):", unmapped.get('j_1'))
print("✅ Tax Horsepower (P.6):", unmapped.get('p_6'))
print("✅ Environmental Class (V.9):", unmapped.get('v_9'))Standardized + Generic JSON Output
Our API delivers a structured JSON response, isolating universal vehicle specs and placing region-specific EU codes neatly into the generic fallback object.
{
"success": true,
"data": {
"document": {
"country_code": "FR",
"document_type": "VEHICLE_REGISTRATION",
"confidence_score": 0.98
},
"standardized": {
"vin": "VF123456789012345",
"plate": {
"number": "AA-123-AA",
"formatted": "AA 123 AA"
},
"make_normalized": "Renault",
"year": 2020
},
"localized": {
"generic": {
"unmapped_fields": {
"j_1": "VP",
"p_6": "5",
"v_9": "715/2007*2018/1832DG"
}
}
}
}
}Frequently Asked Questions
How can I test the API before committing?
You can perform a free image upload test directly from our API documentation page or dashboard. Simply upload a sample Carte Grise to see the JSON output instantly.
Does the API understand EU codes like J.1 or P.6?
Yes. While standard fields like VIN and Make are mapped globally, unique EU labels are systematically captured into the `generic.unmapped_fields` node, allowing you to easily retrieve them.
Can it read documents with fold creases?
Yes, our neural network actively compensates for physical creases caused by folding the multi-part Carte Grise.
Explore More Vehicle-registration Solutions
Global Vehicle Registration OCR API
Our flagship API for parsing complex global vehicle documents. Unified extraction for over 150+ countries with dynamic localization.
Full-Field German Vehicle Registration (Fahrzeugschein) OCR
Test our German Fahrzeugschein OCR API with a free image upload. Extract full fields including HSN/TSN, VIN, and vehicle class from Zulassungsbescheinigung Teil I.
Full-Field India Vehicle Registration (RC Book / Smart Card) OCR
Test our Indian Vehicle Registration (RC) OCR API with a free image upload. Overcome state fragmentation and smart card glare to extract full vehicle data.
Full-Field Indonesia Vehicle Registration (STNK) OCR
Test our Indonesian STNK OCR API with a free image upload. Extract full fields including VIN and tax details from folded, multi-part registration documents.
Full-Field Italy Vehicle Registration (Carta di Circolazione) OCR
Test our Italian Carta di Circolazione OCR API with a free image upload. Extract full fields including cryptic EU standard codes and VIN from folded registrations.
Full-Field Japan Vehicle Registration (Shaken-sho (車検証)) OCR
Test our Japan Shaken-sho (Vehicle Inspection Certificate) OCR API with a free image upload. Extract full fields including high-density Kanji, VIN, and chassis numbers.
Full-Field Mexico Vehicle Registration (Tarjeta de Circulación) OCR
Test our Mexican Tarjeta de Circulación OCR API with a free image upload. Extract full fields including VIN and REPUVE details across all 32 fragmented state formats.
Full-Field Netherlands Vehicle Registration (Kentekenbewijs) OCR
Test our Dutch Kentekenbewijs OCR API with a free image upload. Overcome severe plastic card holograms and glare to extract VIN and MRZ-style data.
Ride-Hailing Driver Onboarding Workflow Automation
Scale your ride-hailing or delivery platform globally. Automate driver background checks by instantly scanning vehicle registration documents.
Full-Field Saudi Arabia Vehicle Registration (Istimara) OCR
Test our Saudi Istimara OCR API with a free image upload. Extract full fields including the 9-digit sequence number, plate details, and VIN from bilingual registrations.
Full-Field South Africa Vehicle Registration (NaTIS Document / RC1) OCR
Test our South African NaTIS Document OCR API with a free image upload. Extract full fields including VIN, Tare, and GVM from A4 printed certificates.
Technical Comparisons & Integrations
Explore platform integrations and competitive analysis
Add National ID OCR to Your Replit App in 5 Minutes
Step-by-step guide to integrating the StructOCR National ID scanner API into a Replit application. Build KYC and identity verification flows using Replit Agent and Secrets.
Add Passport OCR to Your Replit App in 5 Minutes
Step-by-step guide to integrating the StructOCR Passport scanner API into a Replit application. Build travel, hospitality, and global KYC flows using Replit Agent and Secrets.
Add Receipt OCR to Your Replit App in 5 Minutes
Step-by-step guide to integrating the StructOCR receipt API into a Replit application. Build expense tracking and receipt scanning tools using Replit Agent and Secrets.
Add VIN OCR to Your Replit App in 5 Minutes
Step-by-step guide to integrating the StructOCR VIN scanner API into a Replit application. Build automotive and fleet tools using Replit Agent and Secrets.
Single-Page MRZ SDKs vs. Dual-Page Indian KYC API
Why traditional MRZ scanners fail at full Indian Passport verification, and how to process both the front identity page and the back address page in a single API call.
Template-Based OCR vs. StructOCR API for Invoice Processing
Why traditional zonal/template-based OCR fails at processing vendor invoices, and how layout-agnostic AI APIs instantly extract line items and totals.
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.