A modern, client-side Excel to JSON converter built with Next.js 15, featuring advanced mapping capabilities, drag-and-drop functionality, and real-time preview. Transform your Excel data with custom key mapping, data type conversion, and manual value insertion - all processed securely in your browser.
- Project Overview
- Features
- Technologies Used
- Installation
- Usage
- Project Structure
- API Reference
- Acknowledgments
- Contact
- Project Status
The XLSX to JSON Converter is a powerful, privacy-focused web application that allows users to convert Excel files (.xlsx, .xls) to JSON format with advanced customization options. Built with modern web technologies, it processes files entirely on the client-side, ensuring your data never leaves your browser.
- Provide a secure, client-side Excel to JSON conversion tool
- Offer advanced mapping and customization capabilities
- Deliver a modern, intuitive user experience
- Support large file processing with memory management
- Enable batch operations and conversion history
- Data analysts and scientists
- Developers working with Excel data
- Business users needing data format conversion
- Anyone requiring secure, offline data processing
Traditional Excel to JSON converters often require uploading sensitive data to external servers, lack advanced mapping features, or have poor user experiences. This tool addresses these issues by providing:
- 100% client-side processing for maximum privacy
- Advanced key mapping with drag-and-drop reordering
- Real-time preview and validation
- Memory management for large files
- Persistent conversion history
- Drag & Drop File Upload: Intuitive file selection with visual feedback
- Multi-Sheet Support: Select and convert specific worksheets
- Real-time Excel Preview: View your data before conversion
- Advanced Key Mapping: Map Excel columns to custom JSON keys
- Data Type Conversion: Automatic or manual data type selection (string, number, boolean)
- Manual Value Insertion: Add custom values and auto-increment fields
- Row Range Selection: Convert specific row ranges with slider controls
- Drag & Drop Reordering: Reorganize JSON field order with intuitive drag-and-drop
- Conversion History: Local storage-based history with download capabilities
- Memory Management: Built-in memory monitoring and optimization suggestions
- Theme Customization: Multiple color themes and custom color configuration
- Responsive Design: Optimized for desktop, tablet, and mobile devices
- Persistent State: Maintains selected worksheet across browser sessions
- Modern UI: Glass-morphism design with smooth animations
- Progress Indicators: Visual feedback for all operations
- Error Handling: Comprehensive error messages and recovery options
- Accessibility: WCAG compliant with keyboard navigation support
- Performance Optimized: Efficient rendering for large datasets
- Node.js 18.x or higher
- npm 9.x or higher (or yarn 1.22.x)
-
Clone the repository
git clone https://github.com/pankaj-kumar-yadav/convert-desk.git cd convert-desk -
Install dependencies
npm install # or yarn install # or pnpm install
-
Start the development server
npm run dev # or yarn dev # or pnpm dev
-
Open your browser Navigate to http://localhost:3000
# Build the application
npm run build
# Start the production server
npm run start-
Upload Excel File
- Drag and drop your
.xlsxor.xlsfile onto the upload area - Or click to browse and select your file
- Drag and drop your
-
Select Worksheet
- Choose the specific worksheet you want to convert
- Preview the data in the table view
-
Configure Mapping
- Add mappings for Excel columns to JSON keys
- Set data types (auto, string, number, boolean)
- Add manual values or auto-increment fields
-
Convert and Download
- Click "Convert to JSON" to process your data
- Copy the JSON output or download as a file
// Example mapping configuration
{
"excel_column": "Name",
"json_key": "full_name",
"data_type": "string"
}// Add custom fields
{
"json_key": "created_at",
"manual_value": "2024-01-01",
"data_type": "string"
}// Auto-incrementing ID field
{
"json_key": "id",
"auto_increment": true,
"data_type": "number"
}
Main conversion interface with file upload
Advanced key mapping with drag-and-drop
JSON output with copy and download options
We welcome contributions from the community! Here's how you can help:
- Search existing issues to avoid duplicates
- Use the issue template when creating new issues
- Provide detailed information including:
- Steps to reproduce
- Expected vs actual behavior
- Browser and OS information
- Screenshots if applicable
- Check the roadmap to see if the feature is already planned
- Open a feature request with detailed description
- Explain the use case and potential implementation
- Name: PankajKumar Yadav
- Email: pankaj981966@gmail.com
- GitHub: @pankaj-kumar-yadav
- Twitter: @pankaj_yadav_67
- LinkedIn: Pankajkumaryadav67
🟢 Active Development - This project is actively maintained and developed.
- Version: 1.0.0
- Last Updated: Augest 2025
- Next Release: Q3 2025
Made with ❤️ by PankajKumar Yadav
If you find this project helpful, please consider giving it a ⭐ on GitHub!