Enterprise JavaScript Spreadsheet Component that Works Like Excel
Build Excel-like applications your users already know how to use. 500+ compatible formulas, file import and export, AI functions in cells, and a high-performance data grid for React, Vue, Angular, or plain JavaScript.
- Free for development
- 30-day production trial
- No credit card required
If It Works in Excel, It Works in Jspreadsheet
Your users keep every habit they already have: the formulas, the keyboard shortcuts, the copy and paste, the files. No retraining and no surprises.
500+ Excel formulas
Every formula your users know and love, implemented with complete Excel compatibility. From basic arithmetic to advanced statistical functions, financial calculations, and text manipulation.
Import and export spreadsheet files
Import 16+ formats including .xlsx, .csv and .ods, preserving formatting and formulas.
The UX your users already know
Fill handle, frozen rows and columns, copy and paste that round-trips with Excel, keyboard navigation, context menus, and multi-sheet tabs. Zero learning curve.
Core capabilities
Deliver a Spreadsheet Experience to Your Users
A familiar, Excel-like interface means no learning curve, and a secure, compliant, and scalable JavaScript spreadsheet means it holds up on the datasets your customers actually load.
Spreadsheets are still where the work happens
Modeling, reporting, forecasting, and analysis run on spreadsheets. Products built for finance and operations teams win by meeting that habit, not by replacing it.
An Excel-like experience, or the feature goes unused
You cannot ship a spreadsheet feature that does not behave like Excel. Ranges, absolute references, recalculation, and paste from a real workbook are what users test in the first minute.
80% less development time than building a spreadsheet UI
Building the grid, the formula engine, and the Excel edge cases in house costs quarters of engineering time. Install the component and spend those quarters on your product.
Built for the datasets your customers actually load
Virtualized rendering and a calculation engine tuned for large workbooks keep the grid responsive when someone pastes a hundred thousand rows into it.
Under the surface
The Hard Parts of a Spreadsheet Already Built
A spreadsheet looks like rows and columns. Underneath sit a formula engine, a clipboard that speaks Excel, and ten more systems that have to agree with each other.
Formula engine
A dependency graph with recalculation order, not string eval.
Excel clipboard
Multi-cell paste that round-trips with formats intact.
Undo history
One step per action, including a 10,000-cell paste.
Cell editors
Calendar, dropdown, checkbox, masked numbers. Each its own widget.
Keyboard model
Excel's exact keys: F2, tab, enter, arrows mid-edit.
Selection math
Ranges, multi-select, and the fill handle's drag logic.
Merged cells
Selection, copy, and sort still have to work across them.
Frozen rows and columns
Two scroll regions pretending to be one surface.
Number formats
Locales, currencies, dates, and the masks between them.
Virtualization
A hundred thousand rows without killing the tab.
XLSX fidelity
Styles, formulas, and defined names that survive the round-trip.
Accessibility
A grid a screen reader can actually navigate.
Built for Enterprise Applications
Jspreadsheet runs inside your stack, on your infrastructure, under your security model. License keys work offline and no data leaves your application.
Security and privacy
Jspreadsheet ships code, not a cloud. Self-hosted by design, offline license validation, and full control over where your data lives.
Granular permissions
Control who can see, edit, and manage every worksheet, column, and cell. Role-based configurations for toolbars and context menus.
Real-time collaboration
Simultaneous multi-user editing with conflict resolution, presence indicators, and offline sync.
Priority support
Dedicated support with direct access to the engineering team. Customers consistently call out response time in reviews.
Air-gapped deployment or a security review to get through? Talk to an engineer.
Build an AI Product on Top of Familiar Spreadsheet
Spreadsheets remain the primary tool for modeling, reporting, and analysis. An AI product on that surface has to deliver the spreadsheet experience users rely on every day, and deliver it without spending your engineering budget on a grid and a formula engine.
Jspreadsheet gives agents typed tools and users AI functions in cells, against any model endpoint. The AI is new. The spreadsheet under it is not.
Google Sheets runs Gemini in Google's cloud. Excel runs Copilot in Microsoft's. Jspreadsheet ships code, so the model is your call, including a local one with no internet at all.
Choose Front End Only or a Full Stack Component
Jspreadsheet mounts in the browser and needs no backend, which covers most deployments. Jspreadsheet Server is the other half, a Node.js service you run on your own infrastructure, next to your existing API. It adds shared live documents, version history, persistence to your database, a REST API for backend jobs, and AI agents working on the same documents your users edit.
Live multi-user editing
Everyone works on the same document over WebSocket. Each change is applied once on the server, stamped with a revision, and replayed to every screen, so all users converge on the same state.
Your database, your authentication
MongoDB, PostgreSQL, and Redis adapters ship ready to use, or five async handlers cover your own store. Three async hooks run your access rules on every operation.
Agents on the live document
A document MCP server and a REST API put agents and backend jobs on the same spreadsheet your users are editing, not on a file export, and every connected client sees the result immediately.
On the server side, version history, cell comments, and public forms that write straight into cells ship with it.
Proven Solution, Backed by Users
Independent reviews from the platforms developers check before buying.
Customers
What Our Customers
Are Saying
“We struggled when users wanted to bulk insert/edit things (over 100k rows) and we needed performance. Jspreadsheet is probably the fastest spreadsheet component you’ll find, and with a small size. By the way, support is awesome.”
“We vetted 10 JavaScript components and we must say that Jspreadsheet comes out as the best.”
“A powerful data grid tool, providing an excellent front end for our spreadsheet interface. The Jspreadsheet team is helpful and quick to respond.”
Start Your Free Trial Today
Ready to get started? Get your Jspreadsheet free 30-day trial today and bring Excel-quality spreadsheet experiences to your JavaScript spreadsheet applications. Full access to all features. No credit card required.
Free trialFAQs
Curious About Jspreadsheet?
Answers on licensing, compatibility, performance, and how far you can take the component before you need to write anything yourself.
Still have questions? Talk to the engineers who build it.
General Information
What is Jspreadsheet?
More than just a JS data grid component, Jspreadsheet is a comprehensive solution that meets a variety of application requirements for spreadsheet and data management on web platforms. It optimizes workflow development, streamlines process automation, and facilitates the smooth transition of tasks from Excel to the web. Additionally, Jspreadsheet provides a wide range of extensions to address diverse needs within the data grid and spreadsheet ecosystem, making it a versatile choice for various business applications.
Who should use Jspreadsheet?
• SaaS platforms needing embedded spreadsheet functionality
• Enterprise applications replacing legacy Excel workflows
• Financial dashboards and reporting tools
• Project management and resource planning systems
• Data entry and bulk editing interfaces
• Business intelligence and analytics platforms
Whether you're building internal tools for your organization or customer-facing applications, Jspreadsheet provides the flexibility and performance needed for professional data grid implementations.
Do I need a license to use Jspreadsheet?
• Free Trial: 30-day trial license for evaluation purposes (can be extended upon request)
• Enterprise Edition: Advanced features including real-time collaboration, granular permissions, and dedicated support
• Ultimate Edition: Complete feature set with AI integration, full-stack capabilities, and premium support
You can test the full functionality during the trial period before choosing the edition that best suits your needs.
How do I get started with Jspreadsheet?
1. Choose your method:
• Quick Start (Recommended): npx @jspreadsheet/install
• Install via NPM: npm install jspreadsheet
• Include via CDN for rapid prototyping
• Download and host the files yourself
2. Add to your project:
Include the JavaScript and CSS files, then initialize with a simple API call to create your first data grid.
3. Explore the documentation:
Our comprehensive documentation includes examples for vanilla JavaScript, React, Vue, and Angular, with step-by-step guides for common scenarios.
4. Try the free trial:
Sign up for a free 30-day trial to test all features before committing to a license.
How to generate my license key?
mycompany.com
Any subdomain will be valid:
• www.mycompany.com
• dev.mycompany.com
Press save and a new certificate is generated. You can also add an IP to the authorised domains box and save your profile, and a new certificate is generated with the IP address. Localhost is already included.
How to renew my license key?
To renew your license:
1. Go to your profile at https://jspreadsheet.com/me/profile
2. Click on "Renew License."
3. Scroll down to the bottom of the page and click "Save."
4. Copy the new certificate key and replace the old one in your code with this updated key.
Technical Compatibility
Can I use it with existing JavaScript frameworks?
Does it work with TypeScript?
Performance & Scalability
Can I optimize performance for large datasets?
• Enable lazy loading for server-side data sources
• Use pagination for extensive datasets
• Implement efficient caching for frequently accessed data
• Optimize formula references to avoid unnecessary recalculations
• Use frozen columns and rows to reduce rendering overhead
• Consider data virtualization for extensive datasets
Does it work well on mobile devices?
• Touch-friendly cell selection and editing
• Pinch-to-zoom for detailed viewing
• Momentum scrolling for smooth navigation
• Context menus adapted for touch interfaces
• Responsive layout that adapts to screen size
• Gesture support for common actions
Data Management & Integration
Can I import Excel (.xlsx) files?
• Multiple worksheets and named ranges
• Cell formatting and styles (fonts, colors, borders)
• Formulas and calculations (with Excel compatibility)
• Charts and embedded objects
• Data validation rules and conditional formatting
• Comments and cell annotations
Can I save and restore spreadsheet state?
• User session persistence across browser restarts
• Template saving and sharing
• Version control and change tracking
• Backup and disaster recovery
• Multi-device synchronization
Does it support real-time collaboration?
• Simultaneous multi-user editing with conflict resolution
• Live cursor tracking and user presence indicators
• Automatic change synchronization across clients
• Offline editing with sync when connection resumes
• Granular permissions and access control
• Comment threads and @mentions
Customization & Development
How do I customize the appearance and theme?
• Built-in light and dark themes with CSS variable overrides
• Complete CSS customization for fonts, colors, and spacing
• Custom toolbar and context menu configurations
• Branded loading screens and error messages
• Plugin system for UI component replacement
• White-label options for Enterprise customers
Can I add custom formulas and functions?
• Register custom functions with JavaScript implementations
• Access external data sources within formula calculations
• Implement domain-specific business logic
• Create function libraries for reuse across projects
• Override built-in functions for custom behavior
• Add validation and error handling for custom functions
How do I create custom cell editors?
• Implement the editor interface with open/close/getValue methods
• Use any HTML elements or JavaScript components
• Integrate with external libraries and services
• Handle complex data types and validation
• Support keyboard navigation and accessibility
• Register editors globally or per column
Can I extend the context menu and toolbar?
• Add custom menu items with icons and action handlers
• Organize items into groups and submenus
• Show/hide items based on selection context
• Integrate with external systems and workflows
• Create role-based menu configurations
• Support keyboard shortcuts for menu actions






