๐งฉ JsonBoard Pro
JsonBoard is a local-first, zero-setup visual database for your JSON files. Get a spreadsheet-like GUI to edit JSON data without leaving your project.
Skip the complexity of Drizzle, Prisma, or SQLite for small projects. No more manual JSON editing in VS Code or downloading-uploading from online tools. Just run npx jsonboard and get a full-featured GUI that feels like Google Sheets meets phpMyAdmin.
๐ NEW in v1.4.0: Drizzle-Style Schema Management
Generate TypeScript schemas for all your JSON files with a single command! Get the benefits of Drizzle ORM's developer experience without the database complexity.
# Generate centralized schema file
npx jsonboard --init-schema --dir ./data
# Import and use in your TypeScript projects
import { usersSchema, productsSchema } from './jsonboard.schema';
const result = usersSchema.safeParse(userData);
if (!result.success) {
console.error('Validation errors:', result.error.errors);
}
๐งช Try Schema Generation | ๐ Read Full FAQ & Use Cases | ๐ Quick Start | ๐ก Real-World Examples
โก Quick Start
One Command Setup
# Run in any project directory
npx jsonboard
# Specify custom directory
npx jsonboard --dir ./my-data
# Use custom port (auto-detects conflicts)
npx jsonboard --port 8080
# Don't open browser automatically
npx jsonboard --no-open
# Install globally
npm install -g jsonboard
Command Line Options
jsonboard --help
# ๐งฉ JsonBoard Pro
# A local-first visual database for your JSON files
# Get a spreadsheet-like GUI to edit JSON data without leaving your project.
# ๐ Documentation: https://github.com/sh20raj/jsonboard
# Usage: jsonboard [options]
# Options:
# -V, --version display version number
# -d, --dir <directory> Directory to scan for JSON files (default: current directory)
# -p, --port <port> Port to run the server on (default: 3000, auto-detects conflicts)
# --no-open Don't automatically open the browser
# --init-schema Generate centralized TypeScript schema file
# -h, --help Display help information
# Examples:
# # Start JsonBoard in current directory
# jsonboard
# # Specify a custom directory
# jsonboard --dir ./my-data
# # Use a specific port
# jsonboard --port 8080
# # Don't open browser automatically
# jsonboard --no-open
# # Generate TypeScript schemas (NEW!)
# jsonboard --init-schema --dir ./data
๐งช Schema Generation (NEW)
๐ฏ Drizzle-Style TypeScript Schemas
JsonBoard v1.4.0 introduces centralized schema generation inspired by Drizzle ORM. Generate a single jsonboard.schema.ts file containing Zod schemas for all your JSON files.
# Generate schemas for all JSON files in a directory
npx jsonboard --init-schema --dir ./data
# Or use the global installation
jsonboard --init-schema --dir ./src/data
๐ What Gets Generated
The --init-schema command creates a comprehensive TypeScript file with:
- ๐ง Zod Schemas - Runtime validation for each JSON file
- ๐ TypeScript Types - Full type safety for your data
- ๐ก๏ธ Validation Functions - Pre-built helpers with error handling
- ๐ File Index - Easy reference map for all schemas
- ๐ท๏ธ Smart Naming - Automatic conflict resolution for duplicate names
๐ป Example Generated Schema
// Auto-generated jsonboard.schema.ts
import { z } from 'zod';
// Schema for: users.json
export const usersSchema = z.array(z.object({
id: z.number().int(),
name: z.string(),
email: z.string(),
role: z.string(),
active: z.boolean(),
profile: z.object({
age: z.number().int(),
department: z.string()
})
}));
// Validation function
export function validateUsersSchema(data: unknown): ValidationResult<UsersSchemaType> {
const result = usersSchema.safeParse(data);
if (result.success) return { success: true, data: result.data };
return { success: false, errors: result.error.errors };
}
// TypeScript type
export type UsersSchemaType = z.infer<typeof usersSchema>;
๐ Usage in Your Projects
import { usersSchema, productsSchema, validateUsersSchema } from './jsonboard.schema';
// Runtime validation
const userData = await fetch('/api/users').then(r => r.json());
const validation = validateUsersSchema(userData);
if (validation.success) {
// TypeScript knows the exact shape of validation.data
console.log(`Found ${validation.data.length} users`);
validation.data.forEach(user => {
console.log(`${user.name} (${user.email})`); // Fully typed!
});
} else {
console.error('Validation failed:', validation.errors);
}
// Direct schema usage
const result = productsSchema.safeParse(productsData);
๐ฏ Perfect For
- ๐ฅ Rapid Prototyping - Get type-safe data validation in seconds
- ๐งช Testing - Validate test fixtures and API responses
- ๐ Data Migration - Ensure data integrity during migrations
- ๐ก๏ธ Runtime Safety - Catch data structure mismatches early
- ๐ฅ Team Collaboration - Share data contracts via generated types
- ๐ Documentation - Auto-documented data structures
๐ Integration with Popular Tools
# Next.js projects
jsonboard --init-schema --dir ./src/data
# Nuxt projects
jsonboard --init-schema --dir ./assets/data
# Vite/React projects
jsonboard --init-schema --dir ./public/data
# Any TypeScript project
jsonboard --init-schema --dir ./data
โจ Features
๐งช NEW: Schema Generation & Type Safety
- ๐ง Drizzle-Style Schemas - Generate centralized TypeScript schemas with Zod
- ๐ Auto-Generated Types - Full TypeScript support for all JSON structures
- ๐ก๏ธ Runtime Validation - Catch data errors before they break your app
- ๐ Smart Conflict Resolution - Automatic handling of duplicate schema names
- ๐ฏ Single Command Setup -
--init-schemagenerates everything you need
๐ Smart JSON Detection
- ๐ Auto-scan current directory - No more looking for
/datafolder - ๐ Recursive file detection - Finds JSON files in subdirectories
- ๐ซ Gitignore-aware - Automatically excludes
node_modules,.next,.git, etc. - โก Instant validation - Only shows valid JSON files
- ๐ง Smart port handling - Auto-detects port conflicts (3000 โ 3001 โ 3002...)
๐ฏ Developer-Focused Interface
- ๐ Spreadsheet-like editing - Edit JSON arrays like database tables
- ๐ Dual view modes - Toggle between Table View and Raw JSON Editor
- ๐ File metadata display - See file sizes, record counts, modification dates
- ๐ Relative path display - Clear file organization and hierarchy
- ๐พ Real-time auto-save - Changes save directly to your files
- ๐จ Modern responsive UI - Works on desktop, tablet, and mobile
๐ ๏ธ Professional Features
- โ Full CRUD operations - Create, read, update, delete records
- ๐ Search and filtering - Find data quickly across all files
- ๐ Auto-ID generation - Smart ID assignment for new records
- ๐ง Smart data handling - Handles nested objects, arrays, and different types
- ๐ 100% local - Your data never leaves your machine
- ๐ Zero configuration - Works with any framework or project structure
๐ฏ Perfect For Developers
๐ Rapid Development Scenarios
- ๐ฅ MVP Development - Get proof-of-concept running in minutes
- ๐งฉ Data Modeling - Quickly design and iterate on data structures
- ๐ Analytics Dashboards - Prototype dashboards with JSON data sources
- ๐๏ธ Content Management - Manage blog posts, docs, or product catalogs visually
- ๐ API Mocking - Instantly create and edit mock API responses
- ๐งโ๐ป Team Collaboration - Share JSON data files with teammates using Git
- ๐ ๏ธ Configuration Management - Edit app settings, feature flags, environment configs
- ๐งช Testing Data - Create and update test fixtures for automated tests
๐จโ๐ป Developer Types Who Love JsonBoard
- Frontend Developers who want to avoid backend complexity
- Full-Stack Developers who need quick data management
- Junior Developers learning without SQL complexity
- Indie Developers building solo projects efficiently
- Agency Developers creating client prototypes quickly
- Open Source Contributors managing project data simply
๐๏ธ Project Types & Frameworks
- Static Site Generators (Gatsby, Next.js, Nuxt, Hugo, Jekyll)
- JAMstack Applications (React, Vue, Svelte, Angular)
- Prototypes & MVPs (Any framework, any stack)
- Content-Heavy Sites (Blogs, portfolios, documentation)
- Small Business Apps (Inventory, CRM, project management)
- Educational Projects (Tutorials, courses, examples)
๏ฟฝ Why JsonBoard vs. Alternatives?
| JsonBoard | vs. Traditional DB | vs. Headless CMS | vs. Spreadsheets |
|---|---|---|---|
| โ 0-minute setup | โ Hours of config | โ Account setup | โ Poor dev integration |
| โ Git-friendly | โ Migration complexity | โ External dependency | โ No version control |
| โ Visual + Code | โ Query language | โ Limited customization | โ Not developer-focused |
| โ Free forever | โ Server costs | โ Monthly fees | โ Feature limitations |
| โ Offline-first | โ Network dependency | โ Internet required | โ Cloud dependency |
๐ซ No More Database Complexity
- โ No Drizzle setup - Skip ORM configuration and schema management
- โ No Prisma migrations - Avoid complex database migrations and client generation
- โ No SQLite files - No binary database files in your repo
- โ No connection strings - No database servers, ports, or authentication
- โ No SQL knowledge required - Visual interface for everyone
๐ Real-World Examples
๐จ Portfolio Website
Manage your projects, skills, and experience visually:
portfolio/
โโโ data/
โ โโโ projects.json # Add/remove projects instantly
โ โโโ skills.json # Update your tech stack
โ โโโ experience.json # Manage work history
โ โโโ testimonials.json # Client feedback
Perfect for: Freelancers, developers showcasing work, agencies updating portfolios
๐ Blog & Content Sites
Content management without the CMS complexity:
blog/
โโโ data/
โ โโโ posts.json # Blog post metadata & content
โ โโโ authors.json # Writer profiles
โ โโโ categories.json # Content organization
โ โโโ featured.json # Homepage highlights
Perfect for: Personal blogs, company blogs, documentation sites, news sites
๐๏ธ E-commerce Prototypes
Build product catalogs quickly:
store/
โโโ data/
โ โโโ products.json # Product listings with details
โ โโโ categories.json # Product organization
โ โโโ inventory.json # Stock tracking
โ โโโ promotions.json # Sales and discounts
Perfect for: MVP development, client demos, prototype testing, small businesses
๐ฎ Indie Game Development
Manage game data without databases:
game/
โโโ data/
โ โโโ levels.json # Level design and progression
โ โโโ characters.json # Player and NPC stats
โ โโโ items.json # Weapons, armor, collectibles
โ โโโ leaderboard.json # High scores and achievements
Perfect for: Indie developers, game jams, prototype testing, balance tweaking
๐ Small Business Tools
Quick business applications:
business/
โโโ data/
โ โโโ customers.json # Customer database
โ โโโ invoices.json # Billing and payments
โ โโโ inventory.json # Stock management
โ โโโ employees.json # Staff information
Perfect for: Small businesses, freelancers, local services, consultants
๐ฅ๏ธ Screenshots & Demo
Table View - Spreadsheet-like Editing
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐งฉ JsonBoard Pro - users.json (4 records, 2.1 KB) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ # โ id โ name โ email โ role โ โ๏ธ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 1 โ 1 โ John Doe โ john@example.com โ admin โ ๐๏ธ โ
โ 2 โ 2 โ Jane Smith โ jane@example.com โ user โ ๐๏ธ โ
โ 3 โ 3 โ Bob Wilson โ bob@example.com โ editor โ ๐๏ธ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ Add Row โ
Raw JSON View - Full JSON Editor
[
{
"id": 1,
"name": "John Doe",
"email": "john@example.com",
"role": "admin",
"created_at": "2025-01-01T00:00:00Z"
}
]
File List View - Project Overview
๐ /your-project (5 JSON files found)
๐ posts.json 4 records 3.2 KB Blog posts
๐ users.json 12 records 1.8 KB User accounts
๐ products.json 89 records 15.4 KB Product catalog
๐ config.json 1 record 0.5 KB App settings
๐ testimonials.json 6 records 2.1 KB Client feedback
๐ Roadmap
โ Completed (v1.2.4)
- [x] Smart file detection - Auto-scan current directory instead of requiring
/datafolder - [x] Gitignore awareness - Automatically excludes
node_modules,.next,.git, etc. - [x] Automatic port conflict resolution - Smart port detection (3000 โ 3001 โ 3002...)
- [x] Enhanced CLI with help - Beautiful
--helpcommand with examples and GitHub link - [x] Custom port support -
--portflag for specific port assignment - [x] Improved error handling - Better error messages and troubleshooting guidance
- [x] CLI Table view + Raw JSON editor toggle
- [x] Full CRUD operations (Create, Read, Update, Delete)
- [x] File metadata display (size, record count, timestamps)
- [x] Relative path display and file organization
- [x] Modern responsive UI with search and filtering
- [x] RESTful API endpoints (
/api/files,/api/files/:filename)
๐ In Development
- [ ] Undo/Redo support with history tracking
- [ ] Git commit integration after save
- [ ] JSON Schema validation and type checking
- [ ] Import/Export features (CSV, Excel, SQL)
- [ ] Advanced search with column filtering
- [ ] Data relationships and foreign key support
๐ฏ Planned Features
- [ ] VS Code extension for inline editing
- [ ] Real-time collaboration (local network)
- [ ] Database migration tools (JSON โ SQL)
- [ ] Custom themes and UI customization
- [ ] Plugin system for custom data types
- [ ] Command palette for power users
- [ ] API documentation generator
- [ ] Backup and restore functionality
๐ Community Requests
- [ ] YAML and XML support
- [ ] Custom field types (date picker, file upload)
- [ ] Bulk operations and batch editing
- [ ] Data visualization and charts
- [ ] Multi-language support
- [ ] Dark mode theme
๐ Why Open Source?
JsonBoard is 100% open source because we believe developers should have:
๐ Freedom & Control
- No vendor lock-in - Your tools should never hold your data hostage
- Full customization - Modify JsonBoard to fit your exact workflow
- Transparency - See exactly how your data is handled and stored
- Privacy - No telemetry, no tracking, no data collection
๐ค Community-Driven Development
- Built by developers, for developers - Features that actually matter
- Real-world use cases - Solutions based on actual developer needs
- Rapid iteration - Community feedback drives feature development
- Shared ownership - Everyone can contribute and improve the tool
๐ช Developer Benefits
- Learn from the code - Study modern React, TypeScript, and Node.js patterns
- Contribute features - Add functionality you need for your projects
- Fix bugs quickly - Don't wait for vendor support cycles
- Career growth - Open source contributions showcase your skills
๐ Reliability & Longevity
- Can't be discontinued - Community can always fork and continue
- No surprise pricing - Always free, forever
- No service dependencies - Runs completely offline
- Future-proof - Adapts to new technologies and frameworks
๐ค Contributing
We welcome all types of contributions! Here's how you can help make JsonBoard better:
๐ Found a Bug?
- Open an issue with reproduction steps
- Include your environment details and JSON file examples
- Screenshots help us understand UI issues
๐ก Have a Feature Idea?
- Start a discussion to get community feedback
- Check the roadmap to see if it's already planned
- Describe your use case and how it would help other developers
๐ง Want to Code?
- Check open issues for good first contributions
- Fork the repo and create a feature branch
- Follow the existing code style and add tests
- Submit a PR with clear description of changes
๐ Improve Documentation?
- Fix typos or unclear explanations
- Add more use case examples
- Translate to other languages
- Create video tutorials or blog posts
๐จ Design & UX?
- Suggest UI improvements
- Create mockups for new features
- Improve accessibility and responsive design
- Test on different devices and browsers
Every contribution matters! From typo fixes to major features, we appreciate all help in making JsonBoard the best tool for JSON data management.
๐ก Inspiration
JsonBoard draws inspiration from the best developer tools:
- phpMyAdmin (but for JSON) - Database management interface
- Google Sheets (for devs) - Spreadsheet-like data editing
- Prisma Studio - Visual database browser
- Flatfile.io - Data onboarding platform
- Storyblok - Headless CMS interface
- VS Code - Developer-focused experience
๐ License
MIT License - feel free to use in personal and commercial projects.
๐ Links
- ๐ฆ npm Package: https://www.npmjs.com/package/jsonboard
- ๐ GitHub Repository: https://github.com/SH20RAJ/jsonboard
- ๐ Full FAQ & Use Cases: FAQ.md
- ๐ Bug Reports: Issues
- ๐ฌ Discussions: GitHub Discussions
Made with โค๏ธ by SH20RAJ and the open source community.
Log in or sign up for Devpost to join the conversation.