A modern, client-side JSON-LD CV/Resume validator and linter for the Schema Resume specification.
🚀 Features
Core Validation
- JSON Schema Validation: Validates against Schema Resume v1.1.0 specification using Ajv
- JSON-LD Checks: Verifies @context and Schema.org compatibility
- Date Format Validation: Ensures ISO 8601 compliance (YYYY-MM-DD, YYYY-MM, YYYY)
- Format Validation: Checks email, URL, and URI formats
User Experience
- Real-time Feedback: Instant validation results with detailed error messages
- Helpful Suggestions: Provides actionable recommendations for fixing errors
- Example CV: Pre-loaded example to understand the correct format
- JSON Formatter: Auto-format JSON with proper indentation
- Statistics Display: Shows CV content statistics (work experience, skills, etc.)
- Responsive Design: Works on desktop, tablet, and mobile devices
Technical Features
- Client-side Only: No data sent to servers, complete privacy
- Modern UI: Built with TailwindCSS and Lucide icons
- Fast Performance: Instant validation with no server round-trips
- Accessible: WCAG 2.2 compliant with proper contrast and color usage
🎯 Usage
Online
Visit: https://tradik.github.io/schema-resume/validator.html
Local Development
- Clone the repository:
git clone https://github.com/tradik/schema-resume.git
cd schema-resume
- Open
validator.htmlin your browser:
# Using Python
python3 -m http.server 8000
# Using Node.js
npx http-server
# Or simply open the file
open validator.html # macOS
xdg-open validator.html # Linux
start validator.html # Windows
- Navigate to
http://localhost:8000/validator.html
📋 Validation Types
1. JSON Schema Validation
Validates the structure and data types according to the Schema Resume specification:
- Required fields
- Data types (string, number, array, object)
- Format constraints (email, URL, date)
- Enum values
- Array item types
2. JSON-LD Validation
Checks JSON-LD specific requirements:
- Presence of
@contextfield - Presence of
$schemafield - Schema.org vocabulary compatibility
3. Date Format Validation
Ensures all date fields follow ISO 8601 format:
- Full date:
2024-03-15 - Year-month:
2024-03 - Year only:
2024
🔧 Technical Stack
- Ajv v8.12.0: JSON Schema validator
- Ajv Formats v2.1.1: Format validation (email, URL, URI)
- TailwindCSS: Utility-first CSS framework
- Lucide Icons: Beautiful open-source icon library
- Vanilla JavaScript: No framework dependencies
📊 Validation Results
Success State
When validation passes, the validator displays:
- ✓ Success message
- CV statistics (work experiences, education, skills, etc.)
- Next steps and recommendations
- Links to additional validators
Error State
When validation fails, the validator shows:
- Error count and warning count
- Detailed error messages for each issue
- Field path where the error occurred
- Suggestions for fixing the error
- Additional details (expandable)
Warning State
Non-critical issues are shown as warnings:
- Missing optional but recommended fields (@context, $schema)
- Best practice suggestions
- JSON-LD compatibility notes
🎨 UI Components
Input Section
- Large textarea for JSON input
- Example loader button
- Clear button
- Validate button
- Format button
Results Section
- Color-coded messages (green for success, red for errors, yellow for warnings)
- Expandable error details
- Statistics cards
- Help links
Info Cards
- JSON Schema validation info
- JSON-LD support info
- Instant feedback info
🔒 Privacy & Security
- No Server Communication: All validation happens in the browser
- No Data Storage: Your CV data is never stored or transmitted
- No Analytics: No tracking or analytics scripts
- Open Source: Fully transparent code
🌐 Browser Support
- Chrome/Edge 90+
- Firefox 88+
- Safari 14+
- Opera 76+
📱 Mobile Support
Fully responsive design works on:
- iOS Safari
- Android Chrome
- Mobile Firefox
- Samsung Internet
🤝 Contributing
Contributions are welcome! To improve the validator:
- Fork the repository
- Create a feature branch
- Make your changes to
validator.html - Test thoroughly across browsers
- Submit a pull request
Development Guidelines
- Maintain WCAG 2.2 accessibility standards
- Keep the UI clean and intuitive
- Add helpful error messages
- Test on multiple browsers
- Follow the existing code style
🐛 Known Issues
None currently. Please report issues if you find any.
📝 Changelog
See CHANGELOG for version history.
🔗 Related Links
📄 License
MIT License - see LICENSE file for details.
🙏 Acknowledgments
- Ajv for JSON Schema validation
- TailwindCSS for styling
- Lucide for icons
- The JSON-LD and Schema.org communities
Made with ❤️ for the developer community