DEV Community

Alex Bermudo Jr.
Alex Bermudo Jr.

Posted on

Introducing BermudoGreen.js: A Free, Zero-Dependency Excel Spreadsheet & Formula Engine for Vanilla JS

Hey everyone! 👋

I'm excited to introduce BermudoGreen.js, a lightweight, completely free, and open-source Excel spreadsheet and formula calculation engine built for Vanilla JavaScript.

Many modern spreadsheet solutions for the web come with expensive licensing fees that can cost developers thousands of dollars. I wanted to create a simple, reliable, zero-dependency alternative that anyone can integrate into their web applications without worrying about enterprise-level pricing or restrictive licensing.

The goal is straightforward: make spreadsheet functionality accessible, affordable, and easy to use for students, indie builders, and new developers.


🚀 Key Features

  • 🧮 Built-in Formula Engine: Full support for SUM, AVERAGE, COUNT, COUNTA, COUNTIF, SUMIF, ROUND, ABS, IF, IFS, CONCAT, TEXTJOIN, VLOOKUP, HLOOKUP, INDEX, MATCH, and standard math (+ - * / ^ %).
  • 🪄 Formula Bar (fx): Interactive formula bar with dynamic multi-color range highlighting and IntelliSense auto-complete tooltips.
  • 📊 Excel Layout: Automatic column letters (A, B, C, D...), row numbers (1, 2, 3...), double-click auto-fit, and drag-to-resize columns.
  • 🔢 1-Click Number Formatting: Right-click column headers or cells to format as Currency ($1,234.56), Percentage (12.5%), Integers, Decimals, or Dates.
  • 📋 Excel Clipboard Support: Seamless copy/paste (Ctrl+C / Ctrl+V) directly to and from Microsoft Excel or Google Sheets.
  • Global Undo / Redo: Full history management via Ctrl+Z and Ctrl+Y.
  • Zero Dependencies: Pure Vanilla JavaScript, HTML5, and CSS. No heavy framework required.

💻 Quick Start

You can try the live demo or clone the repository directly from GitHub:

Drop into your HTML:


html
<link rel="stylesheet" href="css/Custom.css">
<script src="js/bermudoGreen.js"></script>

<div id="spreadsheet"></div>
Enter fullscreen mode Exit fullscreen mode

Top comments (0)