A fast, browser-based tool for comparing configuration files with intelligent semantic analysis.
- Multiple Format Support: JSON, YAML, XML, INI, TOML, ENV, Properties, Config, HCL, CSV, and template files
- Semantic Comparison: Understands that
"true"andtrueare equivalent - Smart Diff Views: Side-by-side, tree, and unified diff modes
- Real-time Processing: All comparison happens in your browser - no data leaves your device
- Dark Mode: Beautiful dark theme with light mode toggle
- Export Options: JSON, CSV, HTML, and patch file exports
Visit https://eladser.github.io/SimpleConfigDiff/
# Clone the repository
git clone https://github.com/eladser/SimpleConfigDiff.git
cd SimpleConfigDiff
# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build- Upload Files: Drag and drop or click to select two configuration files
- Paste Text: Alternatively, paste configuration text directly
- Compare: Click "Compare" to analyze differences
- Explore: Use filters and search to focus on specific changes
- Export: Save results in various formats
- Semantic Mode: Shows configuration differences by key/value pairs
- Raw Mode: Traditional line-by-line comparison
- Automatically switches to semantic mode for different file formats
- Hierarchical display of configuration changes
- Expandable/collapsible sections
- Color-coded change indicators
- Git-style unified diff output
- Configurable context lines
- Suitable for patch generation
| Format | Extension | Description |
|---|---|---|
| JSON | .json |
JavaScript Object Notation |
| YAML | .yaml, .yml |
YAML Ain't Markup Language |
| XML | .xml |
eXtensible Markup Language |
| INI | .ini |
Configuration files |
| TOML | .toml |
Tom's Obvious Minimal Language |
| ENV | .env |
Environment variables |
| Properties | .properties |
Java properties files |
| Config | .config, .conf |
Generic configuration |
| HCL | .hcl |
HashiCorp Configuration Language |
| CSV | .csv |
Comma-separated values |
| Templates | .j2, .hbs, .mustache |
Template files |
- React 18 with TypeScript
- Vite for fast development and building
- Tailwind CSS for styling
- Lucide React for icons
- Chrome/Edge (recommended)
- Firefox
- Safari
- Mobile browsers
- Client-side only: All processing happens in your browser
- No data transmission: Files never leave your device
- No tracking: No analytics or user data collection
Automatically detects file format based on extension and content analysis.
When comparing different formats (e.g., JSON vs YAML), shows meaningful configuration differences rather than syntax differences.
- Filter by change type (added, removed, changed)
- Search within configuration keys and values
- Focus on specific sections or paths
- JSON: Complete comparison results with metadata
- CSV: Tabular format for spreadsheet analysis
- HTML: Formatted report for sharing
- Patch: Git-compatible patch file
- Modern web browser with ES2020 support
- No server or installation required for online use
- Node.js 16+ for local development
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
MIT License - see LICENSE file for details.
- Configuration file parsers: js-yaml, fast-xml-parser, ini, @iarna/toml
- UI components: Lucide React icons
- Styling: Tailwind CSS
Simple, fast, and secure configuration file comparison in your browser.