A modern, fast, and intuitive JSON parser built with Go and React
Features β’ Installation β’ Usage β’ Development β’ Contributing
Jsonic is a powerful desktop JSON parser that provides real-time validation, formatting, and minification capabilities. Built with modern technologies including Go backend and React frontend, it offers a seamless experience for developers working with JSON data.
- π Lightning Fast: Native performance with Go backend
- π¨ Modern UI: Clean, professional interface with dark theme
- π Line Numbers: Synchronized line numbers with smooth scrolling
- β Real-time Validation: Instant JSON syntax checking
- π Format & Minify: One-click JSON formatting and minification
- π» macOS Native: Optimized for macOS with native performance
- JSON Validation: Real-time syntax checking with detailed error messages
- JSON Formatting: Pretty-print JSON with proper indentation (2 spaces)
- JSON Minification: Compress JSON to single-line format
- Dual Panel Layout: Side-by-side input and output panels
- Line Numbers: Synchronized line numbers for both input and output
- Character Count: Real-time character counting
- Line Count: Display total lines for input and output
- Error Indicators: Visual feedback for JSON validity
- Tab System: Switch between formatted and minified output
- Native Performance: Built with Go for optimal speed
- Modern Frontend: React with TypeScript and Tailwind CSS
- Responsive Design: Adaptive layout for different screen sizes
- Memory Efficient: Optimized for large JSON files
- Go to the Releases page
- Download the macOS version:
- macOS Intel: Jsonic-darwin-amd64.app.zip
- macOS Apple Silicon: Jsonic-darwin-arm64.app.zip
π Coming Soon: Windows and Linux support will be added in future releases
# Clone the repository
git clone https://github.com/enderkus/jsonic.git
cd jsonic
# Install Wails CLI (if not already installed)
go install github.com/wailsapp/wails/v2/cmd/wails@latest
# Build the application
wails build
# The built application will be in build/bin/Jsonic.app
# Build for current platform (macOS)
wails build
# Build for specific macOS architecture
wails build -platform darwin/amd64 # Intel Macs
wails build -platform darwin/arm64 # Apple Silicon Macs
- Launch Jsonic: Open the application
- Input JSON: Paste or type your JSON in the left panel
- Real-time Validation: See validation status in the top bar
- Format JSON: Click the "Format" button for pretty-printed output
- Minify JSON: Click the "Minify" button for compressed output
- Switch Views: Use "Formatted" and "Minified" tabs in the output panel
- Ctrl/Cmd + A: Select all text in active panel
- Ctrl/Cmd + C: Copy selected text
- Ctrl/Cmd + V: Paste text
- Ctrl/Cmd + Z: Undo (in input panel)
- Large Files: Jsonic handles large JSON files efficiently
- Error Detection: Invalid JSON is highlighted with error messages
- Line Navigation: Use line numbers to quickly locate specific parts
- Copy Output: Click in output panel and copy formatted/minified JSON
jsonic/
βββ app.go # Go backend logic
βββ main.go # Application entry point
βββ wails.json # Wails configuration
βββ frontend/ # React frontend
β βββ src/
β β βββ App.tsx # Main React component
β β βββ App.css # Styles
β β βββ assets/ # Static assets
β βββ package.json # Frontend dependencies
β βββ dist/ # Built frontend (generated)
βββ build/ # Built application (generated)
# Clone and enter directory
git clone https://github.com/enderkus/jsonic.git
cd jsonic
# Install frontend dependencies
cd frontend
npm install
cd ..
# Run in development mode
wails dev
- Backend: Go 1.19+
- Frontend: React 18 + TypeScript
- Styling: Tailwind CSS 3.4
- Build Tool: Vite
- Desktop Framework: Wails v2
- Font: JetBrains Mono
We welcome contributions! Here's how you can help:
- Check existing issues
- Create a new issue with:
- Clear description
- Steps to reproduce
- Expected vs actual behavior
- System information
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes
- Test thoroughly
- Commit:
git commit -m 'Add amazing feature'
- Push:
git push origin feature/amazing-feature
- Open a Pull Request
- Go: Follow standard Go formatting (
gofmt
) - TypeScript/React: Use ESLint and Prettier
- Commits: Use conventional commit messages
- β¨ Initial beta release
- β JSON validation, formatting, and minification
- π¨ Modern dark theme UI
- π Synchronized line numbers
- π Dual panel layout
- π» macOS native support (Intel & Apple Silicon)
- π Bug fixes based on user feedback
- β‘ Performance optimizations
- π¨ UI/UX improvements
- π± Better responsive design
- π§ Additional configuration options
- π₯οΈ Windows and Linux platform support
This project is licensed under the MIT License - see the LICENSE file for details.
If you find Jsonic useful, consider supporting the project:
- β Star this repository
- π Report bugs and suggest features
- π° Buy me a coffee
- π’ Share with your developer friends
- Wails - For the amazing Go + Web framework
- React - For the powerful frontend library
- Tailwind CSS - For the utility-first CSS framework
- JetBrains Mono - For the beautiful monospace font
Made with β€οΈ by Ender KUΕ