The Ultimate JSON Toolkit - 20+ Format Conversions & Code Generation
Features β’ Quick Start β’ Documentation β’ Demo
A powerful, browser-based JSON toolkit that supports 20+ format conversions, code generation, and advanced JSON operations. 100% client-side processing - your data never leaves your browser!
- π― Smart Input Detection: Auto-detects JSON, URL params, XML, YAML & 15+ formats
- π 20+ Conversions: JSON β YAML/XML/CSV/HTML/PDF/Table & more
- π» Code Generation: TypeScript, Dart, Go, Rust, Python, C, JSON Schema
- π Advanced Tools: JSON compare, diff, field extraction, validation
- π Bilingual: Full English & Chinese support
- π± Mobile-Optimized: Perfect on all devices
- π Privacy-First: 100% browser-based, no server uploads
- β‘ Lightning Fast: Handles 10MB+ JSON files effortlessly
# Clone the repository
git clone https://github.com/cenyi/neo-dev-toolkit.git
# Navigate to project directory
cd neo-dev-toolkit
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview- Open your browser and navigate to
http://localhost:4321 - Paste any JSON into the editor
- Watch it auto-format and validate instantly
- Click any conversion button to transform your data
Automatically detects and parses:
- β Standard JSON
- β URL Parameters (query strings)
- β XML documents
- β YAML files
- β JSON with comments
- β Minified JSON
Example: Just paste ?name=John&age=30 and it auto-converts to JSON!
- Real-time syntax highlighting
- Error detection with line numbers
- Auto-formatting on paste
- Collapsible tree view
- Line numbers navigation
- Side-by-side comparison
- Visual diff highlighting:
- π’ Green: Added
- π΄ Red: Removed
- π‘ Yellow: Modified
- Perfect for API testing and config changes
Use JavaScript expressions to extract data:
// Extract nested field
obj => obj.user.name
// Extract from array
obj => obj.items[0].id
// Transform data
obj => obj.users.map(u => u.email)
// Filter and map
obj => obj.items.filter(i => i.price > 100).map(i => i.name)Convert JSON to YAML format with proper indentation:
name: John Doe
email: [email protected]
age: 30
address:
street: 123 Main St
city: New YorkGenerate XML with proper structure and escaping.
- Convert JSON arrays to CSV format
- Handle nested objects
- Excel-compatible output
- One-click copy to clipboard
Generate formatted HTML with syntax highlighting:
<!DOCTYPE html>
<html>
<head><title>JSON Data</title></head>
<body>
<pre class="json-key">"name"</pre>: <pre class="json-string">"John"</pre>
...
</body>
</html>Export JSON as PDF via browser print with formatting preserved.
Visualize JSON data as beautiful HTML tables:
- Arrays become row-based tables
- Objects become key-value tables
- Type-based color coding
- Responsive design
interface UserData {
name: string;
email: string;
age: number;
address: {
street: string;
city: string;
};
}class UserData {
String name;
String email;
int age;
Address address;
UserData({this.name, this.email, this.age, this.address});
factory UserData.fromJson(Map<String, dynamic> json) {
return UserData(
name: json['name'],
email: json['email'],
age: json['age'],
address: Address.fromJson(json['address']),
);
}
Map<String, dynamic> toJson() {
return {
'name': name,
'email': email,
'age': age,
'address': address?.toJson(),
};
}
}type UserData struct {
Name string `json:"name"`
Email string `json:"email"`
Age int `json:"age"`
Address Address `json:"address"`
}#[derive(Serialize, Deserialize)]
struct UserData {
name: String,
email: String,
age: i64,
address: Address,
}from dataclasses import dataclass
from typing import Optional
@dataclass
class UserData:
name: str
email: str
age: int
address: Optional['Address'] = Nonetypedef struct {
char* name;
char* email;
int age;
Address* address;
} UserData;Generate standard JSON Schema for validation:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"name": {"type": "string"},
"email": {"type": "string"},
"age": {"type": "number"}
},
"required": ["name", "email", "age"]
}- Remove all whitespace
- Compress to single line
- Perfect for production APIs
- Escape special characters
- Safe for string embedding
- One-click copy
- Strip JSON5-style comments
- Clean up for production
- Preserve data integrity
- Local storage persistence
- Quick access to recent JSONs
- Privacy-focused (local only)
{
"status": "success",
"data": {
"users": [
{"id": 1, "name": "Alice", "email": "[email protected]"},
{"id": 2, "name": "Bob", "email": "[email protected]"}
]
}
}Extract all emails:
obj => obj.data.users.map(u => u.email)Result: ["[email protected]", "[email protected]"]
YAML Input:
server:
host: localhost
port: 8080
ssl: trueAuto-detects as YAML β Converts to JSON β Generate Go Struct β Copy to code
Before:
{"name": "John", "age": 30, "city": "NYC"}After:
{"name": "John", "age": 31, "city": "LA"}Shows:
- π‘
age: 30 β 31 - π‘
city: "NYC" β "LA"
Input: ?search=json&page=1&limit=10
Auto-converts to:
{
"search": "json",
"page": 1,
"limit": 10
}Input:
[
{"product": "Laptop", "price": 999, "stock": 50},
{"product": "Mouse", "price": 29, "stock": 200}
]Generates Table:
| product | price | stock |
|---|---|---|
| Laptop | 999 | 50 |
| Mouse | 29 | 200 |
- Paste API response JSON
- Click "JSON to TypeScript"
- Get interface definition
- Use in your TypeScript project
- Save hours of manual typing!
- π₯οΈ Desktop: Multi-column layout with side-by-side editors
- π± Tablet: Optimized 2-column grid
- π² Mobile: Single column with touch-friendly buttons
Buttons are grouped by functionality:
[Basics] | [Data Conversions] | [Code Generation] | [Analysis] | [Utilities]
Basics: Collapse, Expand, Remove Comments, Compress, Escape Data Conversions: XML, YAML, CSV, Excel, HTML, PDF Code Generation: TypeScript, Dart, C, Go, Rust, Python, Schema Analysis: Table, Compare Utilities: Clear, History, Font Size
- π¨ Syntax Highlighting: Monaco Editor (VS Code engine)
- π Theme Support: Auto dark/light mode
- π Font Size Control: 11px - 16px adjustable
- π€ Bilingual UI: Instant English/Chinese switch
- β¨οΈ Keyboard Shortcuts: Quick actions support
| Component | Technology | Version |
|---|---|---|
| Framework | Astro | 4.15+ |
| Editor | Monaco Editor | Latest |
| Styling | Native CSS | - |
| Language | JavaScript | ES6+ |
| Deployment | Cloudflare Pages/Workers | - |
βββββββββββββββββββββββββββββββββββββββββββ
β User Browser β
β ββββββββββββββββββββββββββββββββββββ β
β β Astro Frontend Application β β
β ββββββββββββββββββββββββββββββββββββ€ β
β β β’ Smart Input Detection β β
β β β’ Format Conversion Engine β β
β β β’ Code Generation Modules β β
β β β’ Monaco Editor Integration β β
β β β’ History Management (Local) β β
β ββββββββββββββββββββββββββββββββββββ β
β β
β 100% Client-Side Processing β
β β No Server Uploads β
β β
Complete Privacy β
βββββββββββββββββββββββββββββββββββββββββββ
- Lazy Loading: Monaco Editor loaded on demand
- Debouncing: Smart input processing
- Virtual Scrolling: Handle large JSON files
- Local Storage: Instant history access
- CSS Hardware Acceleration: Smooth animations
- Minimal Bundle Size: Optimized dependencies
| Browser | Version | Status |
|---|---|---|
| Chrome/Edge | 90+ | β Full Support |
| Firefox | 88+ | β Full Support |
| Safari | 14+ | β Full Support |
| Opera | 76+ | β Full Support |
| Mobile Safari | 14+ | β Full Support |
| Chrome Mobile | 90+ | β Full Support |
neo-dev-toolkit/
βββ src/
β βββ pages/
β β βββ index.astro # English homepage
β β βββ zh/
β β βββ index.astro # Chinese homepage
β βββ components/
β β βββ JsonEditor.astro # Editor component
β β βββ JsonTreeView.astro # Tree view component
β β βββ Sidebar.astro # Navigation sidebar
β βββ layouts/
β β βββ BaseLayout.astro # Base layout
β βββ i18n/
β βββ locales.js # Translations (EN/ZH)
βββ public/ # Static assets
βββ dist/ # Build output
βββ astro.config.mjs # Astro configuration
βββ package.json # Dependencies
βββ README.md # This file
βββ README.zh.md # Chinese version
βββ FEATURES_SUMMARY.md # Feature summary
# Build the project
npm run build
# Deploy using Wrangler CLI
npm install -g wrangler
wrangler login
wrangler pages deploy dist- Push code to GitHub/GitLab
- Connect repository to Cloudflare Pages
- Configure build settings:
- Framework: Astro
- Build Command:
npm run build - Output Directory:
dist - Node.js Version: 18 or 20
- Deploy automatically on push
npm install -g vercel
vercelnpm install -g netlify-cli
netlify deploy --prodNo environment variables required! The app runs entirely in the browser.
This tool is optimized for the following keywords:
- json formatter
- json validator
- json parser
- json viewer
- json editor
- json beautifier
- json minify
- json compare
- json diff
- json to yaml
- json to xml
- json to csv
- json to excel
- json to html
- json to pdf
- json to table
- json to dart
- json to go
- json to rust
- json to python
- json to c
- json to typescript
- json schema
- json escape
- json stringify
- json pretty print
- json format
- json lint
- json viewer online
- json formatter online
- jsonζ ΌεΌε
- jsonε¨ηΊΏθ§£ζ
- jsonε¨ηΊΏζ ΌεΌε
- json ζ΄ε½’
- jsonηΎε
- json转yaml
- jsonθ½¬θ‘¨ζ Ό
- β Debug API responses
- β Generate TypeScript interfaces
- β Convert config files
- β Compare JSON differences
- β Generate data models
- β Convert JSON to CSV/Excel
- β Visualize data as tables
- β Extract specific fields
- β Validate data structure
- β Compare API responses
- β Validate JSON schemas
- β Format error messages
- β Test data transformation
- β Learn JSON structure
- β Understand data formats
- β Practice data conversion
- β Study code generation
| Feature | Description | Status |
|---|---|---|
| Smart Input | Auto-detects 15+ formats | β |
| JSON Validation | Real-time error checking | β |
| Format Conversions | 10+ output formats | β |
| Code Generation | 7 programming languages | β |
| JSON Compare | Visual diff tool | β |
| Field Extraction | JavaScript expressions | β |
| Table View | HTML table generation | β |
| History | Local storage | β |
| Mobile Support | Responsive design | β |
| Bilingual | English + Chinese | β |
| Privacy | 100% client-side | β |
| Offline | Works without internet | β |
Contributions are welcome! Please feel free to submit issues or pull requests.
# Fork the repository
# Clone your fork
git clone https://github.com/YOUR-USERNAME/neo-dev-toolkit.git
# Create a feature branch
git checkout -b feature/amazing-feature
# Make your changes
# Commit your changes
git commit -m 'Add amazing feature'
# Push to branch
git push origin feature/amazing-feature
# Create a Pull Request- β‘ Format Speed: < 100ms for 1MB JSON
- π¦ Bundle Size: < 500KB (gzipped)
- π Load Time: < 2s on 3G
- πΎ Memory Usage: < 100MB for 10MB JSON
- π Conversion Speed: < 500ms for most formats
- β No Server Uploads: All processing in browser
- β No Analytics: No tracking code
- β No Cookies: No user tracking
- β HTTPS: Secure connection
- β Open Source: Fully auditable code
- β Local Storage: History stays on your device
MIT License - see LICENSE file for details
- Astro - Amazing web framework
- Monaco Editor - Powerful code editor
- Cloudflare - Hosting & CDN
- π§ Email: [email protected]
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
- π Documentation: Full Docs