Schema Validator
Validate XARF reports against JSON schemas to ensure compliance with the specification
XARF Schema Validator
Validate your XARF reports against the official JSON schemas to ensure they conform to the specification.
Paste Your XARF Report
Validation Results
Features
- Real-time Validation - Instant feedback on report structure
- Detailed Error Messages - Clear explanations of what needs fixing
- Schema Version Detection - Automatically validates against the correct schema version
- Strict Mode - Optional validation of recommended fields
- Example Reports - Load sample reports for each event type
- Privacy Focused - All validation happens in your browser, no data sent to servers
How to Use
- Paste or Load - Enter your XARF JSON report or load an example
- Validate - Click “Validate Report” to check against the schema
- Review - Check the results for errors, warnings, and suggestions
- Fix - Address any issues highlighted in the validation report
- Re-validate - Run validation again after making changes
Validation Levels
✓ Valid
Your report meets all mandatory requirements and is ready to send.
⚠ Valid with Warnings
Your report is technically valid but missing recommended fields or using deprecated features.
✗ Invalid
Your report has errors that must be fixed before it can be used.
Common Validation Errors
Missing Mandatory Fields
Error: Missing required field: 'reporter'
Solution: Add all mandatory (🟠) fields for your report type. See Sample Reports for requirements.
Invalid Field Format
Error: Invalid timestamp format
Solution: Use ISO 8601 format: YYYY-MM-DDTHH:mm:ssZ
Unknown Classification or Type
Error: Unknown type 'unknown_type' for class 'abuse'
Solution: Use only valid types for each classification. See Event Types.
Invalid Evidence Encoding
Error: Invalid base64 encoding in evidence.payload
Solution: Ensure evidence payloads are properly base64-encoded.
API Usage
You can also validate reports programmatically using our libraries:
Python
from xarf import XARFReport
report = XARFReport.from_json(json_string)
if report.validate():
print("✓ Report is valid!")
else:
for error in report.validation_errors:
print(f"✗ {error}")
JavaScript
const { XARFReport } = require('xarf');
const report = XARFReport.fromJSON(jsonString);
if (report.validate()) {
console.log('✓ Report is valid!');
} else {
report.validationErrors.forEach(error => {
console.log(`✗ ${error}`);
});
}
Need Help?
- Implementation Guide - Step-by-step integration guide
- Schema Reference - Detailed schema documentation
- GitHub Issues - Report bugs or request features