GridCraft v0.7.0

GridCraft is a free, open-source spreadsheet application designed as an alternative to Microsoft Excel. Written in Rust, it combines a familiar spreadsheet interface with formulas, charts, PivotTables, data formatting, and Excel workbook compatibility.

The application follows a conventional spreadsheet workflow, with a ribbon interface, formula bar, cell formatting tools, sheet tabs, and keyboard shortcuts. It also includes advanced calculation features such as dynamic arrays, structured table references, and support for more than 500 worksheet functions.

One of GridCraft's most distinctive features is its automation support. Its command-line interface (CLI), JSON control channel, and Model Context Protocol (MCP) server allow scripts and compatible AI agents to read, modify, calculate, and format spreadsheet data programmatically.

GridCraft is an interesting option for users seeking an open-source alternative to proprietary spreadsheet software. However, it remains in pre-alpha development, so users should verify compatibility with their existing workbooks before adopting it for important business tasks.

Features

Spreadsheet Editing and Formatting

GridCraft provides a spreadsheet interface designed to feel familiar to Excel users. Its ribbon, formula bar, Name Box, sheet tabs, and keyboard shortcuts support common spreadsheet operations.

Users can format cells, adjust row heights and column widths, merge cells, freeze headers, and apply borders, fills, fonts, and number formats. The application also supports conditional formatting, color scales, data validation, and paste-special operations.

These features cover many everyday spreadsheet tasks, including financial calculations, business reports, data organization, and academic work.

Formulas and Calculation Engine

GridCraft includes a calculation engine with more than 500 worksheet functions. It supports familiar formulas for mathematical operations, text manipulation, logical conditions, date calculations, statistics, and data lookup.

Advanced formula features include:

  • Dynamic arrays and automatic spilling.

  • LET and LAMBDA for reusable calculations.

  • MAP, REDUCE, SCAN, BYROW, and BYCOL for array processing.

  • Structured references to table columns.

  • Dependency tracking and incremental recalculation.

  • Formula parsing and reference adjustment when copying cells.

These capabilities make GridCraft more than a basic spreadsheet editor. Users can build complex calculations and reusable formula logic without depending entirely on external scripts.

Nevertheless, differences in formula behavior and calculation compatibility may occur when opening workbooks created in other spreadsheet applications.

Charts and Data Visualization

GridCraft supports 17 chart types for visualizing spreadsheet data. Users can insert charts, select source ranges, and customize chart presentation through its formatting interface.

The application also supports sparklines, which provide compact visual representations of trends within individual cells.

These features help users turn raw data into charts and dashboards without exporting information to a separate visualization application.

Chart compatibility should still be tested when exchanging complex workbooks with Excel, especially when they contain specialized formatting or advanced chart configurations.

PivotTables and Data Analysis

GridCraft includes PivotTables with a field list, filters, layout controls, date grouping, and show-values-as options.

These features allow users to summarize larger datasets, group records, compare categories, and calculate aggregated values without writing complicated formulas manually.

The application also supports sorting, AutoFilter, Flash Fill, outlining, and subtotals.

This combination is useful for business reporting, sales analysis, budgeting, and other workflows involving structured data.

However, advanced Excel analysis features such as Solver and slicers remain development priorities rather than established capabilities.

Tables and Data Management

GridCraft supports structured tables with named columns and references. Table-related functionality integrates with formulas and other spreadsheet operations.

Users can sort ranges, filter records, validate input, and organize related data into manageable structures. These tools are particularly helpful when working with product inventories, financial records, customer lists, and operational reports.

The application also supports hyperlinks, comments, and cell-level formatting to make workbooks easier to navigate and understand.

Microsoft Excel File Compatibility

GridCraft uses XLSX as its native workbook format. It can open and save workbooks containing formulas, styles, themes, tables, conditional formatting, data validation, comments, hyperlinks, charts, pictures, sparklines, PivotTables, and print settings.

It also supports importing and exporting CSV and TSV files, making it suitable for exchanging structured data with databases, scripts, and other business applications.

The project emphasizes preserving workbook features during import and export. However, its documentation identifies real-world XLSX fidelity as an ongoing development priority.

Users should therefore check formulas, formatting, charts, PivotTables, and print layouts after exchanging complicated files with Excel. Compatibility with VBA macros, password-protected workbooks, and other specialized Excel features should not be assumed.

Printing and PDF Export

GridCraft includes print settings, page breaks, and page-break preview. Users can configure printing layouts and export spreadsheets to PDF.

These capabilities are useful for producing printable reports, invoices, financial summaries, and other documents that need to retain a structured page layout.

However, users who depend on precise Excel print layouts should verify page breaks, scaling, margins, and formatting before distributing exported documents.

AI and Command-Line Automation

One of GridCraft's strongest differentiators is its extensive automation interface.

The application exposes commands through its CLI, JSON control channel, and MCP server. These interfaces allow compatible scripts and AI agents to inspect worksheets, read and write cell ranges, evaluate formulas, format cells, create tables, insert charts, and execute spreadsheet commands.

For example, a script can open a sample workbook, apply formatting, and save the result as an XLSX file. The CLI can also evaluate formulas and display selected workbook ranges as text.

This makes GridCraft particularly interesting for developers and users who regularly generate reports, process spreadsheets, or automate repetitive office tasks.

The MCP integration can be especially useful for AI-assisted workflows, although the quality of automated results depends on the agent, its instructions, and the complexity of the spreadsheet.

Cross-Platform Support

GridCraft runs as a native desktop application on Windows, macOS, Linux, and FreeBSD. A WebAssembly build also allows users to run it in a compatible browser.

Its Rust-based architecture separates the spreadsheet engine from the graphical interface, supporting multiple application targets from a shared codebase.

The project does not require a subscription or license server and states that it does not include telemetry.

Download GridCraft v0.7.0 - Software Mirrors

GridCraft v0.7.0 for Windows

gridcraft-0.7.0-windows-x86.msi | 12.75 MB

gridcraft-0.7.0-windows-x86-portable.zip | 16.36 MB

gridcraft-0.7.0-windows-x64.msi | 13.48 MB

gridcraft-0.7.0-windows-x64-portable.zip | 17.77 MB

gridcraft-0.7.0-windows-arm64.msi | 12.03 MB

gridcraft-0.7.0-windows-arm64-portable.zip | 16.39 MB

GridCraft v0.7.0 for macOS

gridcraft-cli-0.7.0-macos-universal.zip | 10.58 MB

gridcraft-0.7.0-macos-universal.dmg | 23.44 MB

GridCraft v0.7.0 for Linux

gridcraft-0.7.0-linux-x86_64.tar.gz | 18.94 MB

gridcraft-0.7.0-linux-x86_64.rpm | 19.3 MB

gridcraft-0.7.0-linux-x86_64.flatpak | 12.85 MB

gridcraft-0.7.0-linux-x86_64.deb | 19.43 MB

gridcraft-0.7.0-linux-x86_64.AppImage.zsync | 63.69 kB

gridcraft-0.7.0-linux-x86_64.AppImage | 18.13 MB

gridcraft-0.7.0-linux-riscv64.tar.gz | 18.27 MB

gridcraft-0.7.0-linux-riscv64.rpm | 18.64 MB

gridcraft-0.7.0-linux-riscv64.deb | 18.68 MB

gridcraft-0.7.0-linux-aarch64.tar.gz | 17.52 MB

gridcraft-0.7.0-linux-aarch64.rpm | 18.17 MB

gridcraft-0.7.0-linux-aarch64.flatpak | 11.17 MB

gridcraft-0.7.0-linux-aarch64.deb | 18.36 MB

gridcraft-0.7.0-linux-aarch64.AppImage.zsync | 58.95 kB

gridcraft-0.7.0-linux-aarch64.AppImage | 16.77 MB

GridCraft v0.7.0 for BSD

gridcraft-0.7.0-freebsd-x86_64.tar.gz | 18.7 MB

Others Download related to GridCraft v0.7.0

gridcraft-web-0.7.0.zip | 6.78 MB

GridCraft v0.7.0 Source Code

GridCraft v0.7.0 Source code (zip)

GridCraft v0.7.0 Source code (tar.gz)

GridCraft v0.7.0 Release Notes:

What's Changed

  • fix(calc): recalculate dependents of a cleared spill past 65536 cells (#558) by @MarekSpodBiedry in #605
  • Return #VALUE! when a LAMBDA call has too few argument positions (#557) by @MarekSpodBiedry in #606
  • SUBTOTAL 109-111 leave out nested subtotals like 1-11 (#556) by @MarekSpodBiedry in #607
  • fix(xlsx): keep leading and trailing whitespace in document properties on reopen (#554) by @MarekSpodBiedry in #608
  • Refuse XLSX export of sheet names XLSX cannot hold (#552) by @MarekSpodBiedry in #609
  • Fix data.filterBy inside a table installing the sheet AutoFilter instead of toggling the table button (#547) by @MarekSpodBiedry in #611
  • Fix histogram counts disagreeing with interval labels on bin boundaries (#546) by @MarekSpodBiedry in #612
  • Draw data labels on area and stacked area charts (#545) by @MarekSpodBiedry in #613
  • Fix chart rasterizer panic on negative rectangle extents (#542) by @MarekSpodBiedry in #616
  • Return #VALUE! from FIND and SEARCH when the start is past the text end (#541) by @MarekSpodBiedry in #617
  • Return zero from ROUNDDOWN and TRUNC at precisions beyond the number range (#540) by @MarekSpodBiedry in #618
  • Return #NUM! from PROB for zero probabilities (#539) by @MarekSpodBiedry in #619
  • Reject oversized TEXTSPLIT results before building the padded grid (#538) by @MarekSpodBiedry in #620
  • Check the full PIVOTBY layout size before building column headers (#537) by @MarekSpodBiedry in #621
  • HSTACK checks its padded output size before building it (#536) by @MarekSpodBiedry in #622
  • Return an error when a weekday fill runs past the supported dates (#535) by @MarekSpodBiedry in #623
  • Column sort rejects a zero row key with a parameter error instead of panicking (#534) by @MarekSpodBiedry in #624
  • Refuse Total Row on a table that ends on the last worksheet row (#533) by @MarekSpodBiedry in #625
  • Spelling: skip suggestions for words longer than 64 characters (#532) by @MarekSpodBiedry in #626
  • Reject row/column insert counts past the worksheet and clamp delete counts instead of overflowing (#531) by @MarekSpodBiedry in #627
  • Formula: print flat operator chains iteratively so deep trees cannot overflow the stack (#527) by @MarekSpodBiedry in #628
  • Page Setup opens on the sheet's saved margins (#524) by @MarekSpodBiedry in #631
  • Data Validation dialog opens on the active cell's current rule (#522) by @MarekSpodBiedry in #633
  • Zoom dialog: a Magnification choice sets the percentage to store (#521) by @MarekSpodBiedry in #634
  • Fix ribbon checkboxes sending the pre-click value (#520) by @MarekSpodBiedry in #635
  • Keep a literal chart category with a comma or semicolon as one point on save (#519) by @MarekSpodBiedry in #636
  • Read omitted val on chart smooth and showVal as on (#518) by @MarekSpodBiedry in #637
  • Web: opt-in embedding bridge for host pages (?host=parent) by @CyberFox-81 in #237
  • io: remove the .sctmp temporary file when a save fails by @SteamSmith in #450
  • AutoFilter: the value list scrolls across the menu's full width (Fixes #432) by @tydude001 in #452
  • i18n: add Serbian (Latin script) interface translations by @Dejan-Port in #453
  • fix(i18n): correct scattered wrong French translations and add 2 missing keys by @Dejan-Port in #454
  • Packaging: offer GridCraft for .xlsb and .ods files on macOS by @neilcawse in #457
  • UI: Paste button and menus paste the system clipboard; regression test for the Paste freeze (#273) by @neilcawse in #461
  • OFFSET: huge offsets and sizes give #REF! instead of overflowing by @webdevtodayjason in #466
  • Data: Solver Evolutionary method, and Answer and Limits reports by @prxnvt in #475
  • INDEX: a huge area number gives #REF! instead of overflowing by @webdevtodayjason in #476
  • AutoFill: times, quarters, ordinals and mixed sources continue as series by @nihilist-narwhal in #483
  • Formulas: long operator chains no longer hit the evaluator's depth limit by @nihilist-narwhal in #484
  • Manage Rules: don't index past the list after a delete by @nihilist-narwhal in #485
  • Merge Across: keep only the first value of each row by @nihilist-narwhal in #487
  • INDIRECT: R1C1 offsets past the sheet give #REF! instead of overflowing by @webdevtodayjason in #503
  • Convert TODAY and NOW to the workbook date system in 1904 workbooks (#578) by @MarekSpodBiedry in #586
  • Restore frozen panes when showing a custom view (#577) by @MarekSpodBiedry in #587
  • Tables: names with a hyphen or other operator characters are rejected (#576) by @MarekSpodBiedry in #588
  • Reject table.resize to a range that does not overlap the table (#575) by @MarekSpodBiedry in #589
  • Keep a defined name that shares a table's name when the table is renamed (#574) by @MarekSpodBiedry in #590
  • Return #VALUE! for AGGREGATE without a data argument (#572) by @MarekSpodBiedry in #592
  • Open files by their content, not a mismatched extension (#569) by @MarekSpodBiedry in #595
  • Parse an intersection whose operand became #REF! (#568) by @MarekSpodBiedry in #596
  • Parse two-digit years in spaced month-name dates (#566) by @MarekSpodBiedry in #598
  • Treat serials past 9999-12-31 as out of range in the 1904 date system (#565) by @MarekSpodBiedry in #599
  • Paste Special: copy the validation rule with the Validation and All options (#562) by @MarekSpodBiedry in #602
  • MCP: reject invalid format_range borders as invalid params (#560) by @MarekSpodBiedry in #603
  • Make gridcraft-cli check compare conditional-format rule contents, not just their count (#559) by @MarekSpodBiedry in #604
  • Add OmaStore manifest by @KitsuneSemCalda in #99
  • fix: select a newly inserted chart from Recommended Charts by @Dejan-Port in #448
  • XLSX: write this-row structured references as [[#This Row],[Col]] by @marcoarnulfo in #869
  • Fix saving a custom view or script when the stored list is not a JSON object (#517) by @MarekSpodBiedry in #638
  • Treat non-object params as empty in themeColors, background and drawBorder (#516) by @MarekSpodBiedry in #639
  • Refuse a PivotTable that cannot fit before aggregating all column groups (#515) by @MarekSpodBiedry in #640
  • Fail Web Page export on sheets taller than its row limit instead of dropping cells (#514) by @MarekSpodBiedry in #641
  • xlsx: warn when hyperlinks past the 10,000-cell cap are dropped on read (#513) by @MarekSpodBiedry in #642
  • Keep every range of a conditional format or validation sqref (#512) by @MarekSpodBiedry in #643
  • Save a table that has only a header row and a totals row (#511) by @MarekSpodBiedry in #644
  • Keep a long outline group's bracket once its first 4096 lines scroll away (#510) by @MarekSpodBiedry in #645
  • fix(grid): filter dropdown installs the AutoFilter on the clicked table (#509) by @MarekSpodBiedry in #646
  • Keep manually hidden and collapsed rows when removing an AutoFilter (#508) by @MarekSpodBiedry in #647
  • Run the fill-handle double-click fill before the handle press returns (#507) by @MarekSpodBiedry in #648
  • i18n(cs): translate 120 labels and tooltips already looked up via tr() by @Losminek in #652
  • Compute the Top 10 filter threshold once per column (#661) by @richard1912 in #664
  • Data validation: hide the input message while the cell's list is open (#505) by @marcoarnulfo in #679
  • Charts: a newly inserted chart is selected, so Delete removes it (#668, #256) by @marcoarnulfo in #683
  • Functions: COUNTIF family returns #VALUE! for criteria over 255 characters by @neilcawse in #686
  • UI: clicking a column or row header in point mode inserts N:N / n:n (#691) by @marcoarnulfo in #695
  • Comments pane: one Show Comments button, and the pane keeps its width by @marcoarnulfo in #715
  • PivotTables: values on rows (Σ Values in Rows, dataOnRows) by @neilcawse in #718
  • cell.set / set_cell: accept a number for input (#697) by @dantebertuzzi in #720
  • i18n(pt-BR): translate 546 more labels, dialog strings and tooltips by @dantebertuzzi in #739
  • Numfmt: a negative number that rounds to zero shows no minus sign by @marcoarnulfo in #740
  • macOS: register the Window menu as NSApp's windowsMenu, so the tiling shortcuts work by @marcoarnulfo in #741
  • ROMAN: forms 2 and 3 subtract IC, XM and VM like Excel by @marcoarnulfo in #744
  • functions: MODE skips typed text and logical arguments by @marcoarnulfo in #745
  • XLS: a FORMAT record shorter than its character count keeps the characters it holds by @marcoarnulfo in #746
  • XLS: open compound files whose last sector isn't padded by @marcoarnulfo in #748
  • Formulas: keep _xludf. so user-defined calls stay user-defined by @marcoarnulfo in #755
  • Grid: extending the selection from the keyboard scrolls its moving end into view (#762) by @msaulc in #763
  • Grid: the selection outline stays visible when extended to the last row (#687) by @vangel76 in #767
  • Numfmt: scientific formats with a literal after E±, a % or a comma match Excel by @marcoarnulfo in #773
  • XLS: a formula kept as its saved value keeps a text result by @marcoarnulfo in #821
  • XLSX: keep fileVersion and calcFeatures in workbook.xml on save by @marcoarnulfo in #822
  • XLSX: a hyperlink to another file is saved as an external relationship by @marcoarnulfo in #826
  • Grid: Shift+arrows in point mode extend from the pointed cell, also up and left by @marcoarnulfo in #836
  • Sheet tabs: All Sheets navigator with a filter field by @marcoarnulfo in #851
  • Refuse to save to an unknown file extension instead of writing XLSX under it by @marcoarnulfo in #879
  • check: a boolean cached as 1/0 without t="b" matches, and is counted apart by @CouchRiv in #882
  • File: Export as PDF in the File menu, and the palette asks for a path (#407) by @isaac-levine in #704
  • XLS: array formulas fill their range on recalculation by @neilcawse in #460
  • Functions passed by name: GROUPBY(…,SUM), BYROW(…,SUM), MAP(…,ABS) by @nihilist-narwhal in #486
  • Chart: color pie, doughnut, treemap and sunburst points from the workbook theme (#579) by @MarekSpodBiedry in #585
  • Quote sheet names when printing sheet-qualified defined names (#567) by @MarekSpodBiedry in #597
  • Keep a solid data bar solid across an XLSX save and reopen (#550) by @MarekSpodBiedry in #610
  • Funnel chart: hide value labels when data labels are off (#544) by @MarekSpodBiedry in #614
  • Honour the gridlines flag on box-and-whisker and stock charts (#543) by @MarekSpodBiedry in #615
  • Open AutoFilter header menus with Alt+Down by @derechopiano in #659
  • Reveal the active worksheet tab after sheet navigation by @derechopiano in #688
  • Preserve editable ink strokes across XLSX saves by @jonathanwxh-cell in #712
  • XLS import: read the calculation settings (iteration, mode, precision as displayed) by @marcoarnulfo in #747
  • Tables: structured references keep the spaces at the edges of a column name by @marcoarnulfo in #749
  • Functions: DGET and the database functions match Excel for computed, empty-string and empty-field criteria by @marcoarnulfo in #751
  • CELL("width") returns the Column Width dialog value, without the padding (#735) by @marcoarnulfo in #753
  • Data: Forecast Sheet Forecast Start option (#785) by @vangel76 in #786
  • i18n: look up the Format Cells dialog labels in the catalog by @brzuchal in #788
  • Page Layout view: drag the margins on the rulers (#792) by @vangel76 in #794
  • Calc: SUBTOTAL 109 recalculates when Row Height, AutoFit or Ungroup reveal rows by @vangel76 in #796
  • Numfmt: TEXT() and chart labels parse each format code once (#806) by @vangel76 in #808
  • PDF: title and author are written as UTF-16BE when they are not ASCII (#813) by @vangel76 in #814
  • PDF: text width cannot overflow; dash, stroke width and NaN sizes are sanitised (#812) by @vangel76 in #815
  • XLSX: keep the workbook's default font on save by @marcoarnulfo in #823
  • XLS: formulas that use a skipped defined name keep their saved results by @marcoarnulfo in #825
  • UI: Enter pastes the copied range and ends copy mode by @marcoarnulfo in #850
  • CSV export: refuse a file over 512 MiB instead of expanding the whole used range (#528) by @Silvertree2010 in #853
  • check: the package round trip reports relationship kinds the save lost by @marcoarnulfo in #871
  • Reject out-of-range numeric filterBy columns instead of overflowing (#573) by @MarekSpodBiedry in #591
  • Fix SEARCH position when text contains a char with multi-char lowercase (#571) by @MarekSpodBiedry in #593
  • fix(engine): CSV named History keeps a valid sheet name (#570) by @MarekSpodBiedry in #594
  • Read date text in the workbook date system in arithmetic and VALUE (#564) by @MarekSpodBiedry in #600
  • Center Across Selection: center text over the empty cells to its right (#479) by @MarekSpodBiedry in #649
  • View: Ctrl+wheel zoom steps along a ladder that never skips 100% (#689) by @vedran-dobos in #690
  • Grid: deleting several Ctrl-selected rows removes them all (#758) by @vangel76 in #766
  • Security: cell hyperlinks open only http, https and mailto, after a confirmation (#777) by @vangel76 in #780
  • Numfmt: no panic on a fraction denominator with 65,536 zeros; format codes are capped at 255 characters (#807) by @vangel76 in #809
  • Numfmt: format-code parsing is linear, and an unclosed [ is treated the same in both passes (#810) by @vangel76 in #811
  • XLSX: Save As into another folder keeps links on the same workbook by @marcoarnulfo in #824
  • View ribbon: lay out the Show group's checkboxes in two columns by @bmh129 in #830
  • Grid: horizontal scrollbar in the sheet tab bar by @marcoarnulfo in #849
  • UI: Show rule-specific data validation fields by @derechopiano in #854
  • XLSX: keep chart sheets on open and save (#727) by @Silvertree2010 in #856
  • EDATE and EOMONTH: serial 0 is day 0 and February 1900 has 28 days by @marcoarnulfo in #742
  • Functions: MIRR, COUNTIF, INDIRECT and USDOLLAR match Excel 365 by @marcoarnulfo in #752
  • Rows auto-fit oversized fonts on open and on row formatting (#833) by @edurbs in #855
  • PivotTables: the PivotTable Fields pane follows the interface language by @marcoarnulfo in #862
  • XLSX: XML maps survive a save, with their table columns and mapped cells by @marcoarnulfo in #863
  • File view: the recent list tells when each workbook was last changed by @arcanii in #463
  • UI: AutoComplete for cell values can be turned off, Backspace and Escape drop the proposal by @marcoarnulfo in #848

New Contributors

  • @CyberFox-81 made their first contribution in #237
  • @SteamSmith made their first contribution in #450
  • @tydude001 made their first contribution in #452
  • @prxnvt made their first contribution in #475
  • @KitsuneSemCalda made their first contribution in #99
  • @marcoarnulfo made their first contribution in #869
  • @richard1912 made their first contribution in #664
  • @dantebertuzzi made their first contribution in #720
  • @msaulc made their first contribution in #763
  • @CouchRiv made their first contribution in #882
  • @isaac-levine made their first contribution in #704
  • @jonathanwxh-cell made their first contribution in #712
  • @brzuchal made their first contribution in #788
  • @Silvertree2010 made their first contribution in #853
  • @bmh129 made their first contribution in #830
Full Changelog: v0.6.1...v0.7.0

Performance and Compatibility

GridCraft is built in Rust and uses a calculation engine designed around dependency tracking and incremental recalculation. Instead of recalculating an entire workbook after every change, the engine can update affected formulas as needed.

Its copy-on-write workbook model is designed to make undo snapshots inexpensive, while the virtualized spreadsheet grid limits layout work to the portion of the sheet currently visible.

These architectural choices are promising for interactive spreadsheet workloads. However, they do not guarantee superior performance for every workbook, especially very large files with complex formulas and extensive formatting.

The project estimates that it covers approximately 93% of Excel's worksheet functions and around 65% of the functionality that advanced Excel users rely on when accounting for implementation depth. These figures are the project's own estimates, not independent compatibility benchmarks.

GridCraft remains in pre-alpha development. Its issue tracker documents ongoing problems involving areas such as cell selection, formatting, text rendering, menus, and keyboard shortcuts.

Users who mainly create ordinary spreadsheets may find the current feature set sufficient for experimentation. Organizations that rely on complex Excel workbooks, macros, specialized add-ins, or strict formatting fidelity should retain a compatible alternative until GridCraft meets their requirements.

System Requirements

GridCraft supports the following platforms:

  • Windows: 32-bit and 64-bit x86 systems, with ARM64 builds also available.

  • macOS: Intel and Apple Silicon computers through a universal application.

  • Linux: x86-64 and ARM64 packages, depending on the distribution format.

  • FreeBSD: x86-64 builds.

  • Web: Modern browsers that support its WebAssembly application.

Prebuilt packages are available in several formats, including Windows installers, portable archives, macOS disk images, Linux AppImages, Flatpak packages, Debian packages, RPM packages, and compressed archives.

Building from source requires Rust development tools, Cargo, Git, and the project's other dependencies. Running the browser version from source requires Trunk and the wasm32-unknown-unknown Rust target.

The project does not specify a universal minimum CPU, RAM, or storage requirement for all spreadsheet workloads.

Pros and Cons

Pros

  • Free and open-source under the MIT or Apache-2.0 license.

  • Familiar spreadsheet interface for users transitioning from Excel.

  • Supports more than 500 worksheet functions.

  • Includes dynamic arrays, LET, LAMBDA, and structured table references.

  • Provides charts, PivotTables, conditional formatting, and data validation.

  • Supports XLSX, CSV, and TSV file formats.

  • Includes PDF export and printing tools.

  • Offers CLI, JSON, and MCP interfaces for spreadsheet automation.

  • Supports Windows, macOS, Linux, FreeBSD, and web browsers.

  • Uses a Rust-based architecture with incremental recalculation and virtualized rendering.

Cons

  • Still in pre-alpha development.

  • Excel compatibility and workbook fidelity are not complete.

  • Some interface and formatting bugs remain.

  • VBA macros and certain advanced Excel capabilities are not available as complete replacements.

  • Advanced features such as Solver and slicers remain development priorities.

  • Large or complicated workbooks require practical performance and compatibility testing.

How to Install

Option 1: Download a Prebuilt Release

  1. Visit the official GridCraft GitHub repository.

  2. Open the Releases section.

  3. Download the package matching your operating system and processor architecture.

  4. Install or extract the downloaded package.

  5. Launch GridCraft and create a workbook or open an existing spreadsheet.

On Windows, choose the installer or portable archive. On Linux, select an appropriate format such as AppImage, Flatpak, DEB, or RPM. Mac users can use the universal application package.

For Linux users who prefer portable applications, the AppImage format is a convenient option. Flatpak and distribution-specific packages are alternatives for users who prefer managed application installation.

Option 2: Build from Source

If you prefer compiling the application yourself, install Git and a recent stable Rust toolchain first.

Clone the repository:

git clone https://github.com/storytold/gridcraft

Enter the project directory:

cd gridcraft

Build and launch the desktop application:

cargo run --release -p gridcraft

To open a sample sales workbook instead, run:

cargo run --release -p gridcraft -- --sample sales

The initial build may take some time while Cargo downloads dependencies and compiles the project.

Option 3: Use the Web Version

GridCraft also provides a WebAssembly build.

After installing the required Rust and Trunk tooling, enter the web application directory:

cd apps/gridcraft-web

Start the development server:

trunk serve --release

Open the local address displayed by Trunk in your browser.

The browser version can open workbooks through the browser's file picker or drag-and-drop. Saving a workbook downloads the resulting file.

Final Verdict

GridCraft is a promising open-source spreadsheet application that combines a familiar Excel-style interface with a substantial collection of formulas, charts, PivotTables, formatting tools, and data-management features.

Its support for XLSX files makes it relevant to users who need to exchange workbooks with Microsoft Excel, while its CLI and MCP integration offer an additional advantage for developers and users interested in AI-assisted spreadsheet automation.

The main limitation is maturity. Although GridCraft already implements many spreadsheet functions and familiar workflows, its developers are still working toward broader compatibility and a more complete feature set. Users should not assume that every Excel workbook, macro, or advanced calculation will work identically.

GridCraft is worth trying for everyday spreadsheet tasks, open-source experimentation, and automated data workflows. However, users who depend on complex Excel features should treat it as an emerging alternative rather than a complete replacement for Microsoft Excel.

GridCraft v0.7.0
Free
Software Informations:
Developer:

Operating System:
Windows / macOS / Linux / BSD
Date Added:
2026-10-15T00:38:41.235Z
Categories:

Post a Comment/Report Broken Link: