Overly extensive development tools for web browser data storage
A comprehensive web-based developer toolkit for inspecting, managing, and validating browser storage with advanced features including version history, diff viewing, and data validation.
A powerful browser storage management tool supporting localStorage, sessionStorage, and IndexedDB.
- β
Multi-Storage Support
- LocalStorage
- SessionStorage
- IndexedDB (database and object store selection)
- π Real-time Search & Filter - Filter items by key name
- π Smart Grouping - Automatic grouping by key prefixes (e.g.,
app:settings,user:data) - π Storage Statistics - Visual usage meter and item count
- π Auto-refresh - Detects changes from other tabs
- π Dark/Light Theme - System-aware theme with manual toggle
- β Add Items - Create new storage entries with type detection
- βοΈ Inline Editing - Click any key or value to edit in-place
- ποΈ Delete Items - Remove individual items or clear all storage
- π Copy to Clipboard - One-click copy of key-value pairs
- π€ Import/Export - Backup and restore storage as JSON files
- π€ Data Type Detection - Automatically identifies and displays data types:
- String
- Number
- Boolean
- Object
- Array
- π JSON Editor - Full-featured modal editor for complex objects
- π Version History - Tracks up to 10 revisions per key (localStorage/sessionStorage only)
- π Diff Viewer - Compare current value against previous versions
- πΎ Profile System - Save and load complete storage snapshots
- ποΈ Column Visibility - Toggle which columns to display
- π½ Collapsible Groups - Expand/collapse grouped items
- β‘ Sortable Columns - Sort by type, key, or value
Advanced side-by-side comparison tool for viewing changes between versions.
- π Side-by-Side Display - Dual-pane layout with synchronized scrolling
- π¨ Syntax Highlighting - Powered by highlight.js with Monokai theme
- π Line-by-Line Diff - Clear visualization of:
- Added lines (green)
- Deleted lines (red)
- Changed lines (yellow)
- Character-level changes within lines
- π Version Selection - Compare against any saved revision
- π Search Function - Find text across both panes
- βοΈ Customization Options:
- Font family selection (Consolas, Courier New, Fira Code, etc.)
- Font size adjustment (10px-20px)
- Line wrapping toggle
- π Statistics - Shows count of added/deleted lines
- π― Virtual Scrolling - Efficient rendering for large files
Validate, format, and compress JSON data with ease.
- βοΈ Validation - Instant JSON syntax checking
- π¨ Formatting - Pretty-print with 2-space indentation
- ποΈ Compression - Minify JSON for production
- π Copy to Clipboard - One-click copy functionality
- π’ Line Numbers - Editor with synchronized line numbers
- π Scroll Sync - Line numbers stay in sync with content
- β Error Display - Clear error messages with line information
Validate, format, and minify YAML documents.
- βοΈ Validation - Parse and validate YAML syntax
- π¨ Formatting - Auto-format with proper indentation
- ποΈ Minification - Convert to flow style for compact output
- π Copy to Clipboard - One-click copy functionality
- π’ Line Numbers - Editor with synchronized line numbers
- π Scroll Sync - Line numbers stay in sync with content
- β Error Display - Detailed error messages
- π YAML β JSON - Easy conversion between formats
-
Clone the repository
git clone https://github.com/pkeffect/Browser-DevTools.git cd Browser-DevTools -
Open in browser
# Simply open index.html in your browser # Or use a local server: python -m http.server 8000 # Then navigate to http://localhost:8000
No build process or dependencies required! This is a pure client-side application.
- Select Storage Type - Choose from dropdown (localStorage, sessionStorage, or IndexedDB)
- For IndexedDB: Select database and object store from the additional dropdowns
- Add New Item:
- Select data type (String, Number, Boolean)
- Enter key and value
- Click
+button
- Edit Item - Click on any key or value cell to edit inline
- Delete Item - Click trash icon next to item
- Search - Type in search box to filter by key name
Version History & Diff:
- Click the "View" (ποΈ) button on any item
- Click "Compare Versions" in the modal
- Select a previous version from dropdown
- View side-by-side comparison with highlighting
Profiles:
- Click "Save Profile" button
- Enter a name for your profile
- Load profiles from dropdown
- Manage profiles with "Manage Profiles" button
Import/Export:
- Export: Click "Export" to download current storage as JSON
- Import: Click "Import" and select a JSON file
- Paste or type your JSON/YAML in the editor
- Click "Validate & Format" to check syntax and format
- Click "Compress/Minify" to create compact version
- Click "Clear" to reset editor
- Use copy button to copy content to clipboard
The application automatically detects your system theme preference and includes a manual theme toggle.
- π Dark Mode - Low-light optimized color scheme
- βοΈ Light Mode - High-contrast light theme
- π Toggle Button - Located in the navigation bar
- πΎ Persistent - Theme preference saved to localStorage
Browser-DevTools/
βββ index.html # Main HTML file
βββ app.js # Application entry point
βββ main.css # Global styles
βββ theme-switcher.js/css # Theme management
βββ utils.js # Shared utility functions
β
βββ storage/ # Storage Inspector
β βββ storage-inspector-widget.html # Widget HTML
β βββ storage-inspector.css # Widget styles
β βββ storage-main.js # Main controller
β βββ storage-api.js # Storage operations API
β βββ storage-ui.js # UI rendering functions
β βββ storage-profiles.js # Profile management
β βββ storage-revisions.js # Version history
β
βββ diff-viewer/ # Diff Viewer
β βββ diff-viewer-widget.html # Widget HTML
β βββ diff-viewer.css # Widget styles
β βββ diff-viewer.js # Main diff logic
β βββ diff.min.js # jsdiff library
β βββ highlight.min.js # Syntax highlighting
β βββ monokai.min.css # Code theme
β
βββ json-validator/ # JSON Validator
β βββ json-validator-widget.html # Widget HTML
β βββ json-validator.css # Widget styles
β βββ json-validator.js # Validation logic
β
βββ yaml-validator/ # YAML Validator
βββ yaml-validator-widget.html # Widget HTML
βββ yaml-validator.css # Widget styles
βββ yaml-validator.js # Validation logic
βββ js-yaml.min.js # js-yaml library
The application uses ES6 modules for clean separation of concerns:
- storage-api.js - Pure storage operations (CRUD, IndexedDB helpers)
- storage-ui.js - UI rendering and DOM manipulation
- storage-main.js - Controller coordinating API and UI
- storage-profiles.js - Profile save/load functionality
- storage-revisions.js - Version history tracking
- localStorage: ~10MB (5-10MB typical)
- sessionStorage: ~10MB (5-10MB typical)
- IndexedDB: Much larger (50MB+ typically, varies by browser)
- β Chrome/Edge (Chromium) 90+
- β Firefox 88+
- β Safari 14+
β οΈ IndexedDB features may vary by browser
All dependencies are included via CDN or minified files:
- jsdiff (5.1.0) - Text diffing algorithm
- highlight.js (11.9.0) - Syntax highlighting
- js-yaml (4.1.0) - YAML parsing and dumping
- π Debug Storage Issues - Inspect and modify browser storage in real-time
- π¦ Data Migration - Export storage from one environment, import to another
- π Version Tracking - Monitor changes to critical configuration values
- π§ͺ Testing - Quickly set up test data scenarios
- π Data Analysis - Examine storage patterns and usage
- π Compare Changes - Identify exactly what changed between versions
- β Validate Data - Ensure JSON/YAML data is properly formatted
- β 100% Client-Side - No data is sent to any server
- β No Analytics - No tracking or telemetry
- β No External Requests - Works completely offline
- β Open Source - Full code transparency
β οΈ Local Only - Storage changes affect your current browser only
- IndexedDB support is read-only for complex key paths
- Revision history only available for localStorage/sessionStorage (not IndexedDB)
- Very large objects (>1MB) may cause performance issues in diff viewer
- Some IndexedDB object stores with auto-increment keys may have limited edit capability
Contributions are welcome! Here's how you can help:
- π Report Bugs - Open an issue with details
- π‘ Suggest Features - Share your ideas
- π§ Submit PRs - Fork, create branch, submit PR
- π Improve Docs - Help make documentation clearer
# Clone repository
git clone https://github.com/pkeffect/Browser-DevTools.git
# No build step needed! Just open index.html
# Or run a local server:
python -m http.server 8000- Use ES6+ features
- Follow existing code structure
- Add comments for complex logic
- Keep functions small and focused
MIT License - see LICENSE file for details
Copyright (c) 2025 pkeffect
- jsdiff - Text diffing by Kevin Decker
- highlight.js - Syntax highlighting
- js-yaml - YAML parser
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
Future features under consideration:
- Cookie inspector/editor
- Cache Storage viewer
- Service Worker inspector
- Export to different formats (CSV, XML)
- Bulk operations (regex find/replace)
- Storage quota information
- Encryption/decryption tools
- Data visualization/charts
- Comparison between storage types
- Automated testing tools
Made with β€οΈ for developers
β Star this repo if you find it useful!