Full-Field Brazil Vehicle Registration (CRLV / CRLV-e) OCR
Test for free with image upload! Accurately extract all structured data—including VIN, Plate, and the critical Renavam code—from digital screenshots and printed Brazilian CRLV documents.

The Challenge: Digital Screenshots and Moiré Patterns
Brazil has transitioned to a digital vehicle registration system (CRLV-e). However, the reality of user behavior means users frequently submit photos of their computer screens showing the digital PDF, or they print it on cheap A4 paper, fold it, and photograph it. Taking photos of screens introduces severe Moiré patterns (wavy distortion lines) that destroy standard OCR accuracy. Additionally, extracting the critical 'Renavam' code accurately is essential for any Brazilian automotive workflow. Learn more about our robust capabilities on our Vehicle Registration OCR product page.
Moiré Cancellation & Semantic Parsing
StructOCR is specifically engineered to handle degraded digital-to-physical captures. Our visual models actively filter out Moiré patterns and screen glare from laptop photos. Using advanced semantic Key-Value mapping, we isolate and extract universal vehicle fields while dynamically capturing Brazil-specific identifiers, like the Renavam, into our `localized.generic.unmapped_fields` object. Discover how this fits into broader Latin American compliance 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
Digital Insurance & UBI
Pre-fill auto insurance applications by automatically extracting the Renavam and vehicle details directly from user-uploaded screenshots.
Fleet & Ride-Hailing Onboarding
Automate driver registration for massive platforms by instantly validating the CRLV-e without manual review.
Used Vehicle Financing
Accelerate auto loan underwriting by digitally validating the vehicle's registration status and chassis number instantly.
Automated Toll & Parking Systems
Streamline municipal parking permits and toll enforcement by automatically extracting and verifying vehicle registration dimensions and emission classes.
Technical Specs
- Template-Free Architecture: Processes highly variable formats dynamically without needing manual bounding boxes.
- Dynamic Fallback Schema: Automatically extracts Brazil-specific parameters into the `unmapped_fields` node.
- Format Support: Processes JPG, PNG, and WebP images up to 4.5MB.
- 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.
- Regional Field Mapping: Contextually identifies and groups unique regulatory codes and formats.
- Robust Visual Processing: Ignores holograms, Moiré patterns, and physical creases.
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("brazil-crlv-full-ocr.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'))
# Brazil specific fields are captured in the generic fallback
loc = data.get('localized', {})
if 'generic' in loc and loc['generic'].get('unmapped_fields'):
unmapped = loc['generic']['unmapped_fields']
print("✅ Renavam:", unmapped.get('renavam'))
print("✅ Chassi:", unmapped.get('chassi'))Standardized + Generic JSON Output
Our API delivers a structured JSON response, separating universal vehicle specs and placing region-specific data into the generic fallback object.
{
"success": true,
"data": {
"document": {
"country_code": "BR",
"document_type": "VEHICLE_REGISTRATION",
"confidence_score": 0.98
},
"standardized": {
"vin": "SAMPLEVIN12345678",
"plate": {
"number": "ABC-123",
"formatted": "ABC 123"
},
"make_normalized": "Toyota",
"year": 2020
},
"localized": {
"generic": {
"unmapped_fields": {
"renavam": "12345678901",
"chassi": "9BWZZZ37ZHT123456",
"categoria": "Particular"
}
}
}
}
}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 document to see the JSON output instantly.
Does the API understand specific local formats?
Yes. While standard fields like VIN and Make are mapped globally, unique Brazil specific labels are systematically captured into the `generic.unmapped_fields` node.
Can it read degraded or poor quality photos?
Yes, our neural network actively compensates for physical creases, low lighting, and smartphone camera glare.
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.
Car Rental Digital Checkout Workflow Automation
Streamline the car rental checkout process. Scan customer vehicle registration or rental fleet documents instantly using our enterprise OCR API.
Full-Field Egypt Vehicle Registration (Vehicle License (رخصة مركبة)) OCR
Test our Egyptian Vehicle License OCR API with a free image upload. Extract full fields including complex Arabic script and VIN from degraded physical cards.
Fleet Onboarding Automation Workflow Automation
Automate commercial fleet onboarding with our OCR API. Instantly digitize vehicle registration documents and validate heavy vehicle compliance metrics.
Full-Field France Vehicle Registration (Carte Grise) OCR
Test our French Carte Grise OCR API with a free image upload. Extract full fields including EU standard alphanumeric codes (J.1, P.6) and VIN from Certificat d'immatriculation.
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.
Technical Comparisons & Integrations
Explore platform integrations and competitive analysis
Add Invoice OCR to Your Replit App in 5 Minutes
Step-by-step guide to integrating the StructOCR invoice API into a Replit application. Build accounts payable and expense tracking tools using Replit Agent and Secrets.
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.
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.