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

Compatible with:

JavaScript Spreadsheet React Spreadsheet Angular Spreadsheet Vue Spreadsheet
Used by the world’s leading companies

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.

01

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.

02

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.

03

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.

04

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.

A B C D E 1 2 3 4 5 6 7 8 9 10 11 Q1 4,120 Q2 3,880 Q3 4,460 Q4 5,010 FY 17,470 1,200 1,850 =A1*3 3,640 5,590

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.

01

Excel clipboard

Multi-cell paste that round-trips with formats intact.

02

Undo history

One step per action, including a 10,000-cell paste.

03

Cell editors

Calendar, dropdown, checkbox, masked numbers. Each its own widget.

04

Keyboard model

Excel's exact keys: F2, tab, enter, arrows mid-edit.

05

Selection math

Ranges, multi-select, and the fill handle's drag logic.

06

Merged cells

Selection, copy, and sort still have to work across them.

07

Frozen rows and columns

Two scroll regions pretending to be one surface.

08

Number formats

Locales, currencies, dates, and the masks between them.

09

Virtualization

A hundred thousand rows without killing the tab.

10

XLSX fidelity

Styles, formulas, and defined names that survive the round-trip.

11

Accessibility

A grid a screen reader can actually navigate.

12

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.

Explore Jspreadsheet Server

01

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.

02

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.

03

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

Case studies

“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.”

SplitC Lucas SegersSplitC

“We vetted 10 JavaScript components and we must say that Jspreadsheet comes out as the best.”

Bizz Control Lode CoolsBizzcontrol

“A powerful data grid tool, providing an excellent front end for our spreadsheet interface. The Jspreadsheet team is helpful and quick to respond.”

PharmacyWire Dana StoeszPharmacyWire

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 trial

FAQs

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?

Jspreadsheet is a robust full-stack JavaScript Data Grid solution that directly integrates the functionality and user-friendly experience of spreadsheet applications like Excel and Google Sheets into your web applications. It offers a smooth, efficient user interface, enabling batch actions, table manipulation, and a host of other features that ensure flawless compatibility between your web application and Excel/Sheets. This familiar environment enhances productivity, simplifies user adoption, and minimizes the need for extensive training.
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?

Jspreadsheet is ideal for developers building web applications that require advanced data management capabilities. Common use cases include:
• 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?

Jspreadsheet offers different licensing options to suit various needs:
• 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?

Getting started with Jspreadsheet is quick and straightforward:
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?

You register the base domain, and it is valid for any subdomain. So if you add to your profile, let's say:
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?

Your license key is valid for one year and works offline. To keep using it, renew and replace it in your deployment after the year has elapsed. You can generate a new license key at any time through your profile, even before the current license expires. Your old license key remains valid until its expiration date, so you can transition to the new key smoothly without any interruption in service.

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?

Absolutely! While we provide dedicated components for React, Vue, and Angular, the vanilla JavaScript version works seamlessly alongside any framework. You can integrate it into existing applications without conflicts.

Does it work with TypeScript?

Yes, Jspreadsheet includes comprehensive TypeScript definitions with full type safety for all APIs, events, and configuration options. IntelliSense and compile-time error checking work seamlessly in VS Code and other TypeScript-aware editors.

Performance & Scalability


Can I optimize performance for large datasets?

Yes, several optimization strategies are available:
• 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?

Absolutely! Jspreadsheet is fully optimized for mobile devices with:
• 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?

Excel import is available in the Enterprise, and Ultimate editions with comprehensive support for:
• 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?

Yes, you can serialize the complete spreadsheet state (data, formatting, formulas, configuration) to JSON and restore it later. This enables features like:
• 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?

Real-time collaboration is available in the Ultimate Edition with features including:
• 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?

Jspreadsheet offers multiple customization approaches:
• 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?

Yes, the formula engine is fully extensible:
• 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?

The plugin architecture supports completely 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?

Absolutely! Both the context menu and toolbar are fully customizable:
• 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