Home / Tools / Schema Validator

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

Results will appear here after validation...

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

  1. Paste or Load - Enter your XARF JSON report or load an example
  2. Validate - Click “Validate Report” to check against the schema
  3. Review - Check the results for errors, warnings, and suggestions
  4. Fix - Address any issues highlighted in the validation report
  5. 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?