Transform Schema.org markup or any JSON data into beautiful, interactive network graphs!
Built with β€οΈ by Rabih Rizk for Vibe Coders - The AI Agent Engineering Community
- What is This?
- Why Use This Tool?
- Quick Start (5 Minutes!)
- Step-by-Step Installation
- How to Use
- Examples & Screenshots
- All Available Options
- Troubleshooting
- About Vibe Coders
- Contributing
- License
Want to get started instantly? Simply open index.html in your browser - no installation needed!
- Schema.org Mode - Specialized for Schema.org JSON-LD markup with type-specific coloring
- Generic JSON Mode - Visualize ANY JSON structure (APIs, configs, databases, analytics)
- Easy toggle switch between modes with dynamic examples
- Professional light theme with neutral stone colors
- Rich dark theme with charcoal palette
- Instant theme switching with preference persistence
- Auto-detects system theme preference
- Modern dark slate header design
- Smooth transitions and animations
- Professional color palette (indigo primary colors)
- Responsive layout that works on all screen sizes
- Custom-styled components with proper contrast
- β Paste or upload JSON files directly
- β Real-time statistics and validation
- β Interactive graph visualization (zoom, pan, drag nodes)
- β Export visualizations as PNG images
- β Quick example library (8 examples total - 4 Schema, 4 Generic)
- β Toast notifications for user feedback
- β Keyboard shortcuts (Ctrl/Cmd + Enter to visualize)
For advanced users who prefer the command line, continue reading below for the CLI tool documentation.
The Schema Visualizer is a versatile tool that transforms both Schema.org structured data (JSON-LD) and any generic JSON data into interactive, beautiful network graphs that you can explore in your web browser.
Think of it as a "mind map generator" for JSON data - whether it's website structured data, API responses, configuration files, or database exports!
-
π Web Interface (ENHANCED!) - Simply open
index.htmlin your browser- No installation required!
- Dual Mode: Schema.org or Generic JSON visualization
- Dark/Light theme toggle
- Paste or upload your data
- Instant visualization with beautiful modern UI
- Learn more about the Web Interface β
-
π» Command-Line Tool - Powerful CLI for advanced users
- Generate visualizations from terminal
- Batch processing support
- Multiple output formats
- Full customization options
- SEO Professionals: Visualize and validate schema markup for clients
- Web Developers: Debug complex schema relationships
- Content Creators: Understand how different content pieces connect
- Digital Marketers: Create visual reports of structured data implementations
- API Developers: Visualize complex API response structures
- DevOps Engineers: Map configuration files and service dependencies
- Data Analysts: Explore nested JSON data from databases
- WordPress Developers: Visualize post meta, theme configs, and plugin data
- E-commerce Teams: Map order structures, product catalogs, and inventory
- Marketing Teams: Visualize analytics data and campaign structures
- Students & Learners: Understand JSON data structures visually
β Dual Mode Support - Schema.org AND Generic JSON visualization β Zero Configuration - Works out of the box, no installation needed β Interactive - Drag, zoom, and explore your data visually β Beautiful Themes - Modern dark/light theme toggle with professional colors β 30+ Schema Types Supported - Person, Product, Article, LocalBusiness, and more! β Works with ANY JSON - API responses, configs, databases, analytics β Multiple Layouts - Force-directed, hierarchical, or circular arrangements β Export Options - Save as PNG images or JSON for further analysis β 8 Built-in Examples - Learn from real-world Schema.org and JSON examples β Theme Persistence - Remembers your dark/light theme preference β Keyboard Shortcuts - Ctrl/Cmd + Enter to visualize quickly β Beginner Friendly - Clear error messages and helpful warnings β Portable - Self-contained, works anywhere (web browser or Python)
Want to get started immediately? Follow these 3 simple steps:
# Option A: Using git (recommended)
git clone https://github.com/yourusername/schema-visualizer.git
cd schema-visualizer
# Option B: Download ZIP
# Click the green "Code" button above β Download ZIP β Extract itpip install -r requirements.txtThat's it! Only one dependency needed: pyvis π
# Run with an example schema
python schema_visualizer.py examples/local_business_schema.jsonYour browser will automatically open with an interactive visualization! π¨
Before you begin, make sure you have:
-
Python 3.7 or higher installed on your computer
- Check by running:
python --versionorpython3 --version - Don't have Python? Download it here
- Check by running:
-
pip (Python package manager) - Usually comes with Python
- Check by running:
pip --versionorpip3 --version
- Check by running:
# 1. Navigate to where you want to install
cd ~/Documents # or any folder you prefer
# 2. Clone the repository
git clone https://github.com/yourusername/schema-visualizer.git
# 3. Go into the project folder
cd schema-visualizer
# 4. Install dependencies
pip install -r requirements.txt
# 5. Test it works!
python schema_visualizer.py examples/person_schema.json# 1. Navigate to where you want to install
cd C:\Users\YourName\Documents
# 2. Clone the repository
git clone https://github.com/yourusername/schema-visualizer.git
# 3. Go into the project folder
cd schema-visualizer
# 4. Install dependencies
pip install -r requirements.txt
# 5. Test it works!
python schema_visualizer.py examples/person_schema.json- Click the green "Code" button at the top of this page
- Select "Download ZIP"
- Extract the ZIP file to your desired location
- Open Terminal (Mac/Linux) or Command Prompt (Windows)
- Navigate to the extracted folder:
cd path/to/schema-visualizer - Run:
pip install -r requirements.txt - Test:
python schema_visualizer.py examples/person_schema.json
The simplest way to use the visualizer:
python schema_visualizer.py path/to/your/schema.jsonThis will:
- Parse your schema file
- Generate an interactive HTML visualization
- Automatically open it in your default browser
python schema_visualizer.py my_schema.jsonpython schema_visualizer.py my_schema.json -o my_visualization.html# Hierarchical tree layout (great for nested schemas)
python schema_visualizer.py my_schema.json --layout hierarchical
# Circular layout (good for small schemas)
python schema_visualizer.py my_schema.json --layout circular
# Force-directed layout (default, best for most cases)
python schema_visualizer.py my_schema.json --layout force_directed# Light theme (for presentations)
python schema_visualizer.py my_schema.json --theme light
# Dark theme (default, easy on eyes)
python schema_visualizer.py my_schema.json --theme dark
# Blue theme (professional look)
python schema_visualizer.py my_schema.json --theme blue# Save the graph structure for analysis
python schema_visualizer.py my_schema.json --export-json graph_data.jsonpython schema_visualizer.py my_schema.json \
--layout hierarchical \
--theme light \
--output business_schema_viz.html \
--export-json business_graph.jsonWe've included 4 example schemas for you to explore:
python schema_visualizer.py examples/person_schema.json --layout hierarchicalWhat it shows: A person with their organization and address
python schema_visualizer.py examples/local_business_schema.json --theme lightWhat it shows: A local business with opening hours, ratings, and location
python schema_visualizer.py examples/product_schema.json --theme blueWhat it shows: A product with offers, reviews, ratings, and brand info
python schema_visualizer.py examples/article_schema.json --layout circularWhat it shows: An article with author and publisher information
When you open the generated HTML file, you'll see:
Node Types:
- π΄ Large Colored Nodes = Schema.org types (@type)
- Example: Person, Product, Organization
- βͺ Small Gray Nodes = Properties and values
- Example: name, price, address
Colors by Schema Type:
- π΄ Red = Person
- π΅ Cyan = Organization
- π’ Green = Place/LocalBusiness
- π‘ Orange = Product/Offer
- π£ Purple = Article/BlogPosting
Node Types:
- π΅ Blue Nodes = Objects (larger size)
- π Orange Nodes = Arrays (medium size)
- βͺ Gray Nodes = Primitive values (smaller size)
Interactions:
- Click & Drag = Move nodes around
- Scroll = Zoom in/out
- Hover = See node details
- Click Node = Highlight its connections
- Theme Toggle = Switch between dark/light mode (top-right button)
- Mode Toggle = Switch between Schema.org and Generic JSON modes
python schema_visualizer.py [INPUT_FILE] [OPTIONS]| Option | Description | Example |
|---|---|---|
input |
Path to your JSON-LD schema file | my_schema.json |
--stdin |
Read schema from stdin instead of file | cat schema.json | python schema_visualizer.py --stdin |
| Option | Short | Description | Example |
|---|---|---|---|
--output |
-o |
Output HTML file path | -o output.html |
--export-json |
- | Export graph data as JSON | --export-json graph.json |
| Option | Values | Default | Description |
|---|---|---|---|
--layout |
force_directed, hierarchical, circular |
force_directed |
Graph layout algorithm |
--theme |
dark, light, blue |
dark |
Color theme |
--width |
Any CSS width | 100% |
Graph width |
--height |
Any CSS height | 1000px |
Graph height |
| Option | Description |
|---|---|
--no-open |
Don't auto-open visualization in browser |
--quiet |
Minimal output (suppress progress messages) |
--validate |
Validate schema and show warnings |
python schema_visualizer.py examples/local_business_schema.json \
--output visualizations/business.html \
--export-json data/business_graph.json \
--layout hierarchical \
--theme light \
--width 1200px \
--height 800px \
--validate \
--no-openSolution:
# Use absolute paths if needed
python schema_visualizer.py /full/path/to/schema.json
# Or navigate to the folder first
cd /path/to/your/schema/
python /path/to/schema_visualizer.py schema.jsonSolution:
- Verify your JSON-LD is valid JSON using JSONLint
- Check for missing commas, brackets, or quotes
- Use the
--validateflag to see detailed errors:python schema_visualizer.py my_schema.json --validate
Solution:
# Use --no-open and manually open the file
python schema_visualizer.py my_schema.json --no-open
# Then open schema_visualization.html in your browserSolution:
# Try using pip3 instead
pip3 install -r requirements.txt
# Or use python -m pip
python -m pip install -r requirements.txtSolution:
- Ensure your schema has
@typeproperties - Use
--validateto check for schema issues:python schema_visualizer.py my_schema.json --validate
- Try a different layout:
python schema_visualizer.py my_schema.json --layout hierarchical
Solution:
# On Mac/Linux, try with sudo
sudo pip install -r requirements.txt
# Or install for your user only
pip install --user -r requirements.txt- Check that Python 3.7+ is installed:
python --version - Make sure pyvis is installed:
pip list | grep pyvis - Try running with Python 3 explicitly:
python3 schema_visualizer.py ... - Join Vibe Coders and ask the community!
This tool was created by and for the amazing community at Vibe Coders!
Who We Are:
Vibe Coders is a vibrant community of AI enthusiasts, developers, and engineers who are passionate about building intelligent agents and automation tools. We share knowledge, collaborate on projects, and help each other grow in the exciting field of AI engineering.
What We Do:
- π€ Build AI agents and automation tools
- π Share tutorials and learning resources
- π‘ Collaborate on open-source projects
- π― Help each other solve real-world problems
- π Stay ahead of AI/ML trends and technologies
Why Join?
- β Access to exclusive AI engineering tutorials
- β Weekly challenges and projects
- β Supportive community of builders
- β Direct help from experienced developers
- β Networking with AI professionals
- β Early access to tools like this one!
Ready to Level Up Your AI Skills?
π Join Vibe Coders Today! π
You can also import and use this tool in your own Python code:
from schema_visualizer import SchemaParser, SchemaVisualizer
# Parse a schema file
parser = SchemaParser()
result = parser.parse("path/to/schema.json")
if result['valid']:
# Create visualization
visualizer = SchemaVisualizer(layout="hierarchical", theme="dark")
visualizer.create_visualization(
nodes=result['nodes'],
edges=result['edges'],
output_file="output.html"
)
# Get statistics
stats = parser.get_statistics()
print(f"Total nodes: {stats['total_nodes']}")
print(f"Type nodes: {stats['type_nodes']}")
print(f"Property nodes: {stats['property_nodes']}")
else:
print(f"Error: {result['error']}")We love contributions from the community! Here's how you can help:
- Report Bugs - Found a problem? Open an issue
- Suggest Features - Have an idea? Request a feature
- Improve Documentation - Help others understand the tool better
- Add Schema Types - Expand support for more Schema.org types
- Share Examples - Submit your own schema examples
# 1. Fork the repository
# 2. Create a new branch
git checkout -b feature/amazing-feature
# 3. Make your changes
# 4. Commit your changes
git commit -m "Add amazing feature"
# 5. Push to your branch
git push origin feature/amazing-feature
# 6. Open a Pull Request- Be respectful and inclusive
- Help others learn and grow
- Share knowledge generously
- Give credit where it's due
- Have fun building cool stuff!
The visualizer supports 30+ Schema.org types with smart color coding:
- Person, Organization, Place, LocalBusiness, Event, Product, Offer
- Article, BlogPosting, NewsArticle, WebPage, WebSite
- Book, Movie, MusicRecording, VideoObject, ImageObject
- Review, Rating, AggregateRating
- Action, SearchAction
- PostalAddress, GeoCoordinates, ContactPoint, OpeningHoursSpecification
- BreadcrumbList, ItemList, ListItem, FAQPage, Question, Answer
- HowTo, HowToStep
Don't see your type? The visualizer automatically handles unknown types with fallback styling!
| Schema Size | Nodes | Processing Time |
|---|---|---|
| Small | < 50 | Instant β‘ |
| Medium | 50-200 | 1-2 seconds |
| Large | 200-500 | 2-5 seconds |
| Very Large | 500+ | 5-10 seconds |
Tip: For very large schemas, use hierarchical layout for better performance and readability.
This project is licensed under the MIT License - see the LICENSE file for details.
TL;DR: You can freely use, modify, and distribute this tool. Just keep the license notice!
- PyVis - Python network visualization library
- vis.js - Underlying JavaScript graph library
- Schema.org - Structured data vocabulary
- Vibe Coders Community - For inspiration and feedback
- All Contributors - For making this tool better
- You - For using this tool! π
- Check the Troubleshooting section above
- Browse existing Issues
- Join Vibe Coders and ask the community
- Open a new Issue with details
- π Vibe Coders Community
- π Report Issues
- π‘ Request Features
Made with β€οΈ by Vibe Coders
Empowering the next generation of AI engineers, one tool at a time.