JavaScript component to create web applications with spreadsheet UI
Free and open-source JavaScript component to create web applications with spreadsheet UI.

Weekly downloads
GitHub stars
Free and open-source
Compatible with
React, Angular, and Vue.
Jspreadsheet CE provides compatibility across different environments, ensuring your spreadsheet solution fits perfectly into your chosen stack.





A complete solution to make rich and user-friendly web applications
Fully customizable JavaScript spreadsheet library, offering various components to enhance web development projects.




A variety of customisable column types
Create multi-level column headers
Add comments to your spreadsheet cells
Personalize your spreadsheet toolbar
Text | Numeric | Calendar | D | Checkbox | Color | |
1 | Hello | $ 13.123,00 | Yes | |||
2 | World! | $ 8,00 | No |
<html>
<script src="https://bossanova.uk/jspreadsheet/v5/jspreadsheet.js"></script>
<script src="https://jsuites.net/v5/jsuites.js"></script>
<link rel="stylesheet" href="https://jsuites.net/v5/jsuites.css" type="text/css" />
<link rel="stylesheet" href="https://bossanova.uk/jspreadsheet/v5/jspreadsheet.css" type="text/css" />
<div id="spreadsheet"></div>
<script>
let table = jspreadsheet(document.getElementById('spreadsheet'), {
worksheets: [{
data: [
['Hello', 13123, '', 'Yes', true, '#AA4411'],
['World!', 8, '', 'No', false, '#99BE23']
],
columns: [
{ type: 'text', title: 'Text' },
{ type: 'numeric', title: 'Numeric', mask:'$ #.##,00', decimal: ',' },
{ type: 'calendar', title: 'Calendar' },
{ type: 'dropdown', source: ['Yes', 'No', 'Maybe'] },
{ type: 'checkbox', title: 'Checkbox' },
{ type: 'color', title: 'Color', width: 50, render: 'square' }
]
}]
});
</script>
</html>
Supermarket information | ||||||
Location | Other Information | Costs | ||||
A | B | C | D | E | ||
1 | ||||||
2 |
<html>
<script src="https://bossanova.uk/jspreadsheet/v5/jspreadsheet.js"></script>
<script src="https://jsuites.net/v5/jsuites.js"></script>
<link rel="stylesheet" href="https://bossanova.uk/jspreadsheet/v5/jspreadsheet.css" type="text/css" />
<link rel="stylesheet" href="https://jsuites.net/v5/jsuites.css" type="text/css" />
<div id="spreadsheet"></div>
<script>
jspreadsheet(document.getElementById('spreadsheet'), {
worksheets: [{
data: [[]],
minDimensions: [5, 2],
nestedHeaders:[
[
{
title: 'Supermarket information',
colspan: '6',
},
],
[
{
title: 'Location',
colspan: '1',
},
{
title: ' Other Information',
colspan: '2'
},
{
title: ' Costs',
colspan: '3'
}
],
]
}]
});
</script>
</html>
A | B | C | |
1 | US | Cheese | 2019-02-12 |
2 | CA | Apples | 2019-03-01 |
<html>
<script src="https://bossanova.uk/jspreadsheet/v5/jspreadsheet.js"></script>
<link rel="stylesheet" href="https://bossanova.uk/jspreadsheet/v5/jspreadsheet.css" type="text/css" />
<script src="https://jsuites.net/v5/jsuites.js"></script>
<link rel="stylesheet" href="https://jsuites.net/v5/jsuites.css" type="text/css" />
<div id="spreadsheet"></div>
<script>
jspreadsheet(document.getElementById('spreadsheet'), {
worksheets: [{
data: [
['US', 'Cheese', '2019-02-12'],
['CA', 'Apples', '2019-03-01'],
],
columns: [
{width: '170px'},
{width: '170px'},
{width: '170px'},
],
allowComments: true,
comments: {
B1: 'Initial comments on B1',
C1: 'Initial comments on C1'
},
}]
});
</script>
</html>
<html>
<script src="https://bossanova.uk/jspreadsheet/v5/jspreadsheet.js"></script>
<link rel="stylesheet" href="https://bossanova.uk/jspreadsheet/v5/jspreadsheet.css" type="text/css" />
<script src="https://jsuites.net/v5/jsuites.js"></script>
<link rel="stylesheet" href="https://jsuites.net/v5/jsuites.css" type="text/css" />
<div id="spreadsheet"></div>
<script>
jspreadsheet(document.getElementById('spreadsheet'), {
toolbar: function(toolbar) {
// Add a new custom item in the end of my toolbar
toolbar.items.push({
tooltip: 'My custom item',
content: 'share',
onclick: function() {
alert('Custom click');
}
});
return toolbar;
},
worksheets: [{
minDimensions: [6, 2]
}]
});
</script>
</html>
Create an online spreadsheet from various data formats
With Jspreadsheet, you can quickly create online spreadsheets using JavaScript arrays, JSON, CSV, and XLSX files. This flexibility simplifies data integration and minimizes your application's need for complex processing.
Deliver high-quality interfaces and applications to your end-user
Jspreadsheet reduces customers development time.
Here are some of their experiences.
Rich Interfaces
Make rich and user-friendly web interfaces and applications
User-Friendly Inputs
You can easily handle complicated data inputs in a way users are used to
Enhanced Experience
Improve your user software experience
Beautiful CRUDs
Create rich CRUDS and beautiful UI
Compatibility with excel spreadsheets
Users can move data around with common copy and paste shortcuts
Easy Customization
Easy customizations with easy third-party plugin integrations
Fast and Simple
Lean, fast and simple to use
Faster Data Entry
Speed up your work dealing with difficult data entry in a web-based software
Shareable Spreadsheets
Create and share amazing online spreadsheets
Component Ecosystem
Explore the powerful and versatile components designed to elevate your productivity. From data management to collaboration, our ecosystem seamlessly integrates to meet your needs.
Jspreadsheet Pro
Enterprise JavaScript data grid component to integrate spreadsheet UI into your web-based application.
Intrasheets
Collaborate with ease using Intrasheets, an intuitive tool for managing spreadsheets across teams, ensuring that everyone stays on the same page.
Subscribe to our newsletter
Tech news, tips and technical advice