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.17.0 - Software Mirrors

GridCraft v0.17.0 for Windows

gridcraft-0.17.0-windows-x86.msi | 38.38 MB

gridcraft-0.17.0-windows-x86-portable.zip | 46.87 MB

gridcraft-0.17.0-windows-x64.msi | 39.61 MB

gridcraft-0.17.0-windows-x64-portable.zip | 49.22 MB

gridcraft-0.17.0-windows-arm64.msi | 37.45 MB

gridcraft-0.17.0-windows-arm64-portable.zip | 47.37 MB

GridCraft v0.17.0 for macOS

gridcraft-cli-0.17.0-macos-universal.zip | 14.79 MB

gridcraft-0.17.0-macos-universal.dmg | 81.86 MB

GridCraft v0.17.0 for Linux

gridcraft-0.17.0-linux-x86_64.tar.gz.asc | 228 B

gridcraft-0.17.0-linux-x86_64.tar.gz | 49.95 MB

gridcraft-0.17.0-linux-x86_64.rpm.asc | 228 B

gridcraft-0.17.0-linux-x86_64.rpm | 50.32 MB

gridcraft-0.17.0-linux-x86_64.pkg.tar.zst | 36.48 MB

gridcraft-0.17.0-linux-x86_64.flatpak.asc | 228 B

gridcraft-0.17.0-linux-x86_64.flatpak | 36.75 MB

gridcraft-0.17.0-linux-x86_64.deb.asc | 228 B

gridcraft-0.17.0-linux-x86_64.deb | 50.59 MB

gridcraft-0.17.0-linux-x86_64.AppImage.zsync.asc | 228 B

gridcraft-0.17.0-linux-x86_64.AppImage.zsync | 166.08 kB

gridcraft-0.17.0-linux-x86_64.AppImage.asc | 228 B

gridcraft-0.17.0-linux-x86_64.AppImage | 47.38 MB

gridcraft-0.17.0-linux-riscv64.tar.gz.asc | 228 B

gridcraft-0.17.0-linux-riscv64.tar.gz | 48.86 MB

gridcraft-0.17.0-linux-riscv64.rpm.asc | 228 B

gridcraft-0.17.0-linux-riscv64.rpm | 49.25 MB

gridcraft-0.17.0-linux-riscv64.deb.asc | 228 B

gridcraft-0.17.0-linux-riscv64.deb | 49.39 MB

gridcraft-0.17.0-linux-aarch64.tar.gz.asc | 228 B

gridcraft-0.17.0-linux-aarch64.tar.gz | 48.04 MB

gridcraft-0.17.0-linux-aarch64.rpm.asc | 228 B

gridcraft-0.17.0-linux-aarch64.rpm | 48.83 MB

gridcraft-0.17.0-linux-aarch64.pkg.tar.zst | 36.09 MB

gridcraft-0.17.0-linux-aarch64.flatpak.asc | 228 B

gridcraft-0.17.0-linux-aarch64.flatpak | 34.44 MB

gridcraft-0.17.0-linux-aarch64.deb.asc | 228 B

gridcraft-0.17.0-linux-aarch64.deb | 49.19 MB

gridcraft-0.17.0-linux-aarch64.AppImage.zsync.asc | 228 B

gridcraft-0.17.0-linux-aarch64.AppImage.zsync | 160.01 kB

gridcraft-0.17.0-linux-aarch64.AppImage.asc | 228 B

gridcraft-0.17.0-linux-aarch64.AppImage | 45.65 MB

GridCraft v0.17.0 for BSD

gridcraft-0.17.0-freebsd-x86_64.tar.gz | 49.51 MB

gridcraft-0.17.0-freebsd-aarch64.tar.gz | 47.12 MB

Others Download related to GridCraft v0.17.0

release-signing-key.asc | 803 B

gridcraft-web-0.17.0.zip | 9.05 MB

GridCraft v0.17.0 Source Code

GridCraft v0.17.0 Source code (zip)

GridCraft v0.17.0 Source code (tar.gz)

GridCraft v0.17.0 Release Notes:

What's Changed

  • Ribbon: Font Size value is centered in its box (fixes #3155) by @kenkanuma in #3161
  • Data validation and conditional formats: anchor relative formulas on the top-left cell of all areas (#3152) by @ljkx in #3173
  • Ribbon test: pin macOS for the AutoSum tooltip, so it passes on a Mac by @Aimarmndz in #3179
  • Charts: decimate area top and baseline at paired horizontal indices by @neilcawse in #3132
  • check: find volatile defined names with a worklist instead of repeated passes by @dylanmtaylor in #3187
  • Protection: authorize the sheet a column move changes; refuse edits that unlock locked cells by @dylanmtaylor in #3196
  • xlsx: rename repeated table headers without retrying handed-out suffixes by @dylanmtaylor in #3213
  • XLSX: write the XLDAPR extension URI in lower case next to in-cell pictures (part of #2339) by @hectorviov in #3217
  • PivotTables: dense rank ties and the "Count of" caption for Count Numbers (part of #1448) by @hectorviov in #3219
  • Open a web page's table as a sheet, also when it is named .xls (fixes #3166) by @hectorviov in #3223
  • XLSX: checkboxes no longer make Excel repair the file (fixes #2630) by @hectorviov in #3225
  • Ctrl+. moves to the next corner of the selection (fixes #1442) by @hectorviov in #3226
  • XLSX: write page margins as their decimals (part of #1609) by @hectorviov in #3228
  • XLSX: keep a workbook's R1C1 reference style through open and save (part of #2809) by @hectorviov in #3234
  • Frozen panes: frozen columns keep their text, gridlines and borders while scrolling (#2544) by @adifiedio in #3237
  • Show or hide a workbook's sheet tabs and scroll bars (fixes #3101) by @hectorviov in #3239
  • Charts and macro examples unquote sheet names as formulas do (fixes #2012) by @hectorviov in #3243
  • A linked cell's menu edits, opens or removes its link (fixes #2120) by @hectorviov in #3244
  • Key tips: Excel 2003 menu access keys (Alt+I, R; Alt+D, S; …) (#941, #2311) by @hectorviov in #3250
  • Clipboard: paste a picture from the system clipboard at the active cell (#699) by @adifiedio in #3251
  • Open SYLK (.slk) files: values, R1C1 formulas, number formats, widths (#1481) by @hectorviov in #3253
  • Find and Replace: search only the selected range (#3224) by @hectorviov in #3254
  • Point mode: dragging over row or column headers extends the reference by @Morzilla in #3267
  • Options: highlight the active cell's row, as a global preference by @Morzilla in #3268
  • Drag and drop asks before replacing data (fixes #3136) by @hectorviov in #3216
  • GROUPBY: total depth 2 or more adds subtotals (part of #1456) by @hectorviov in #3221
  • Draw: the live pen stroke is drawn as the ink it commits (fixes #1786) by @hectorviov in #3229
  • Copy quotes only cells with a tab or line break, as Excel does (fixes #2225) by @hectorviov in #3231
  • XLSX: keep "remove personal information on save" and honour it (part of #3089) by @hectorviov in #3238
  • Paste Special: every option has its Excel access key (fixes #1482) by @hectorviov in #3240
  • xlsx: repair repeated sheet names through a set of assigned names by @dylanmtaylor in #3211
  • PDF export: wrap text with running widths by @dylanmtaylor in #3208
  • engine: PivotTable filters test each record against a set of selected labels by @dylanmtaylor in #3279
  • check: charge relationship parts to the package's decompression budget by @dylanmtaylor in #3185
  • calc: cap the text one & over arrays may build in all by @dylanmtaylor in #3189
  • calc: list each dependent once when a change spreads by @dylanmtaylor in #3190
  • Security: MODE counts through an index, FREQUENCY bins by binary search by @dylanmtaylor in #3198
  • ods: charge a cell's text when the cell is read, not when its row ends by @dylanmtaylor in #3257
  • functions: NUMBERVALUE strips trailing percent signs in one pass by @dylanmtaylor in #3262
  • functions: match TEXTSPLIT/TEXTBEFORE/TEXTAFTER delimiters through an index, within a work limit by @dylanmtaylor in #3263
  • engine: weekday fill series moves by whole weeks by @dylanmtaylor in #3272
  • engine: cap header and footer sections at 64 KiB when fields expand by @dylanmtaylor in #3284
  • chart, numfmt: treemap rows grow in constant time per item; General fit clamps its width by @dylanmtaylor in #3290
  • engine: protection checks for filter, outline, row/column size, picture, pivot and edit-range paths by @dylanmtaylor in #3296
  • chart: series without values take no span entries in cartesian rendering by @dylanmtaylor in #3300
  • ui-egui: formula reference colouring in linear time; bounded fill-character repeats by @dylanmtaylor in #3311
  • formula, calc: bounded LET/LAMBDA name lookup; ragged array literals refused before reserving by @dylanmtaylor in #3312
  • Pass the Linux signing key to the release workflow by @dylanmtaylor in #3380
  • XLSX: the XML element cap counts only elements kept in the tree by @RedBearAK in #2527
  • link: require confirmation for programmatic link.open (#2181) by @Higgs32584 in #2203
  • Form controls: buttons, sliders and spin buttons, with Assign Action, Format Control and XLSX round trip by @prxnvt in #481
  • About: credits tables fit without side-scrolling and their columns resize by @FredApps in #3320
  • Charts: draw every doughnut series as a ring by @alosslessdev in #1827
  • UI: RefEdit follow-ups: a dialog keeps the sheet it was opened on, a click on the selected cell picks, quoted sheet names in Solver by @prxnvt in #3180
  • Web: page host mode, so a page can host GridCraft in its own document (#2592) by @helenkwok in #2593
  • i18n: German context menus' Insert reads "Zellen einfügen", not a second "Einfügen" (#2874) by @ZIDAN44 in #3425
  • fix(calc): apply "Set precision as displayed" in calculation by @Harrison-Booth in #1366
  • Paste of a whole-column or whole-row copy no longer aborts the app by @Harrison-Booth in #2018
  • xlsx: stop memory amplification from declared sizes (#2173) by @Higgs32584 in #2197
  • Copy the shared house rules into AGENTS.md by @FredApps in #3487

New Contributors

  • @kenkanuma made their first contribution in #3161
  • @ljkx made their first contribution in #3173
  • @hectorviov made their first contribution in #3217
  • @adifiedio made their first contribution in #3237
  • @Morzilla made their first contribution in #3267
  • @FredApps made their first contribution in #3320
  • @ZIDAN44 made their first contribution in #3425
Full Changelog: v0.16.1...v0.17.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.17.0
Free
Software Informations:
Developer:

Operating System:
Windows / macOS / Linux / BSD
Date Added:
2026-11-07T05:30:03.836Z

FigCraft is a free, open-source interface design and prototyping application built in Rust. It aims to reproduce core design workflows found in Figma while providing a native desktop experience, local file storage, and support for offline work.

The application includes tools for creating layouts, reusable components, vector graphics, design systems, and interactive prototypes. It also supports developer handoff, multiple export formats, command-line automation, and integration with AI agents through the Model Context Protocol (MCP).

FigCraft is an ambitious alternative for UI designers and developers who want greater control over their design files without depending entirely on a cloud-based platform. However, it is still in alpha, and its developers estimate that it has reached approximately 49% of the functionality needed to replace Figma for real-world work. It is best treated as an actively developing alternative rather than a complete replacement.

Features

Interface Design and Auto Layout

FigCraft provides a canvas-based editor with a familiar interface featuring a toolbar, layers panel, design properties, and keyboard shortcuts.

Its auto-layout system supports horizontal and vertical layouts, wrapping, grid layouts, spacing, padding, alignment, and flexible sizing. Designers can combine nested frames, constraints, and layout grids to create responsive interface structures.

These tools are useful for building application screens, dashboards, landing pages, and reusable interface layouts without manually positioning every element.

Components and Design Systems

FigCraft supports reusable components, instances, variants, and component properties. Changes to a main component can propagate to its instances while preserving supported overrides.

The application also includes an asset panel for searching and inserting reusable components, along with a variables system supporting colors, numbers, strings, and Boolean values. Variables can have multiple modes, aliases, and scopes, making them useful for maintaining design systems and light or dark themes.

These capabilities provide a foundation for consistent UI development across larger projects.

Vector Graphics and Drawing Tools

The application includes vector editing tools that go beyond basic shapes. Users can draw paths, edit points and handles, create variable-width strokes, and combine overlapping shapes using Boolean operations.

Supported operations include union, subtraction, intersection, and exclusion. The editor also provides a shape builder, masks, gradients, adjustable corners, and editable vector geometry.

This makes FigCraft useful for designing icons, interface illustrations, diagrams, and other vector-based assets without requiring a separate drawing application for every task.

Colors, Effects, and Typography

FigCraft supports solid colors, linear and radial gradients, angular and diamond gradients, image fills, multiple strokes, blend modes, shadows, and blur effects.

Additional effects include noise, texture, glass-like treatments, and masks. Color handling supports sRGB and Display P3 profiles, with exported files tagged with their color profile.

The text editor supports mixed formatting within paragraphs, variable fonts, OpenType features, text styles, spacing controls, lists, and right-to-left text. These capabilities are useful for multilingual interfaces and more sophisticated typography.

Interactive Prototyping

FigCraft allows designers to connect frames and create interactive prototypes with triggers, actions, transitions, and back navigation.

Its interaction system also supports variables and conditional expressions, enabling more dynamic prototypes. A presentation view provides device frames and interaction hints, while a live preview helps designers test their work.

These features allow teams to explore interface behavior before implementing the final design in code.

Developer Handoff and Code Inspection

The application includes a developer-oriented inspection workflow with measurements, annotations, ready-for-development status, and frame comparisons.

Developers can inspect design properties and generate code representations in formats such as CSS, HTML, React, SwiftUI, and Jetpack Compose. Components can expose their properties as parameters in the generated code.

The output is intended to help bridge design and implementation, although generated code should be reviewed and adapted to the conventions and architecture of the target project.

AI Agent and CLI Automation

One of FigCraft's most distinctive features is its command-driven architecture. The same underlying command system powers the graphical interface, CLI, JSON control channel, and MCP server.

This enables scripts and compatible AI agents to create or modify designs, inspect documents, render files, and export assets without relying exclusively on manual interaction.

The command-line tools also support headless rendering and batch export, making the application potentially useful in automated design workflows and development pipelines.

Local Files and Offline Privacy

FigCraft stores projects as local .figcraft archives and can work without requiring an account. The project states that it does not use telemetry and does not contact a server until users share or join a file.

It supports importing and exporting common formats, including SVG, PNG, JPG, WebP, and PDF. Existing Figma .fig files can also be opened on a best-effort basis, although compatibility with real-world documents has not been fully validated.

For collaborative work, FigCraft offers preview-stage live sessions and an optional self-hosted server. These features are not equivalent to a mature cloud collaboration platform, and online sharing has important privacy limitations discussed below.

Download FigCraft v0.16.0 - Software Mirrors

FigCraft v0.16.0 for Windows

figcraft-0.16.0-windows-x86.msi | 75.66 MB

figcraft-0.16.0-windows-x86-portable.zip | 93.24 MB

figcraft-0.16.0-windows-x64.msi | 77.08 MB

figcraft-0.16.0-windows-x64-portable.zip | 96.66 MB

figcraft-0.16.0-windows-arm64.msi | 73.66 MB

figcraft-0.16.0-windows-arm64-portable.zip | 93.42 MB

FigCraft v0.16.0 for macOS

figcraft-cli-0.16.0-macos-universal.zip | 86.17 MB

figcraft-0.16.0-macos-universal.dmg | 105.33 MB

FigCraft v0.16.0 for Linux

figcraft-server-0.16.0-linux-x86_64.tar.gz.asc | 228 B

figcraft-server-0.16.0-linux-x86_64.tar.gz | 4.32 MB

figcraft-server-0.16.0-linux-aarch64.tar.gz.asc | 228 B

figcraft-server-0.16.0-linux-aarch64.tar.gz | 3.97 MB

figcraft-0.16.0-linux-x86_64.tar.gz.asc | 228 B

figcraft-0.16.0-linux-x86_64.tar.gz | 96.79 MB

figcraft-0.16.0-linux-x86_64.rpm.asc | 228 B

figcraft-0.16.0-linux-x86_64.rpm | 97.72 MB

figcraft-0.16.0-linux-x86_64.pkg.tar.zst | 73.03 MB

figcraft-0.16.0-linux-x86_64.flatpak.asc | 228 B

figcraft-0.16.0-linux-x86_64.flatpak | 68.13 MB

figcraft-0.16.0-linux-x86_64.deb.asc | 228 B

figcraft-0.16.0-linux-x86_64.deb | 98.2 MB

figcraft-0.16.0-linux-x86_64.AppImage.zsync.asc | 228 B

figcraft-0.16.0-linux-x86_64.AppImage.zsync | 318.29 kB

figcraft-0.16.0-linux-x86_64.AppImage.asc | 228 B

figcraft-0.16.0-linux-x86_64.AppImage | 90.87 MB

figcraft-0.16.0-linux-riscv64.tar.gz.asc | 228 B

figcraft-0.16.0-linux-riscv64.tar.gz | 95.1 MB

figcraft-0.16.0-linux-riscv64.rpm.asc | 228 B

figcraft-0.16.0-linux-riscv64.rpm | 96.08 MB

figcraft-0.16.0-linux-riscv64.deb.asc | 228 B

figcraft-0.16.0-linux-riscv64.deb | 96.37 MB

figcraft-0.16.0-linux-aarch64.tar.gz.asc | 228 B

figcraft-0.16.0-linux-aarch64.tar.gz | 93.57 MB

figcraft-0.16.0-linux-aarch64.rpm.asc | 228 B

figcraft-0.16.0-linux-aarch64.rpm | 95.24 MB

figcraft-0.16.0-linux-aarch64.pkg.tar.zst | 70.76 MB

figcraft-0.16.0-linux-aarch64.flatpak.asc | 228 B

figcraft-0.16.0-linux-aarch64.flatpak | 64.26 MB

figcraft-0.16.0-linux-aarch64.deb.asc | 228 B

figcraft-0.16.0-linux-aarch64.deb | 95.88 MB

figcraft-0.16.0-linux-aarch64.AppImage.zsync.asc | 228 B

figcraft-0.16.0-linux-aarch64.AppImage.zsync | 307.43 kB

figcraft-0.16.0-linux-aarch64.AppImage.asc | 228 B

figcraft-0.16.0-linux-aarch64.AppImage | 87.77 MB

FigCraft v0.16.0 for BSD

figcraft-0.16.0-freebsd-x86_64.tar.gz | 96.37 MB

figcraft-0.16.0-freebsd-aarch64.tar.gz | 91.82 MB

Others Download related to FigCraft v0.16.0

release-signing-key.asc | 803 B

figcraft-web-0.16.0.zip | 9.88 MB

FigCraft v0.16.0 Source Code

FigCraft v0.16.0 Source code (zip)

FigCraft v0.16.0 Source code (tar.gz)

FigCraft v0.16.0 Release Notes:

What's Changed

  • fix(collab): place keyed-list puts through an index within a batch by @dylanmtaylor in #1893
  • Reject fractional index in proto.interaction.remove and set by @Silvertree2010 in #1874
  • Reject fractional index in layout.setTrack by @Silvertree2010 in #1892
  • Reject invalid dashes in node.set instead of dropping entries by @Silvertree2010 in #1899
  • perf(color): sort gradient stops once per diamond texture by @dylanmtaylor in #1894
  • perf(format): drop dangling Penpot token aliases with a worklist by @dylanmtaylor in #1897
  • M8: an ellipse whose start has gone round many turns keeps its sweep in .fig by @samhyun in #1891
  • M7: a file tab's menu and the board bar's shape menu read in the light theme by @aleksei-suholita in #1890
  • M8: a click with the Bend tool curves a sharp point, its handles along the line between its neighbours (#1875) by @TrevorBrown-dev in #1877
  • M4: wrap style on a text layer: Auto, Balance and Pretty decide where its lines break (#1827) by @TrevorBrown-dev in #1871
  • fix(format): index kiwi field lookups and bound schema and empty-array growth by @dylanmtaylor in #1896
  • fix(pathops): sanitize a brush's width profile once before sampling by @dylanmtaylor in #1948
  • perf(text): compute each glyph's cluster end once per run by @dylanmtaylor in #1963
  • perf(doc,engine): rebuild a widget by removing its children in one pass by @dylanmtaylor in #1967
  • perf(engine): look up a component's asset root once per usage report, and skip mode migration without instances by @dylanmtaylor in #1966
  • perf(collab): check a replaced list's entries against sets, not a scan per entry by @dylanmtaylor in #1962
  • fix(format): a saved file replaces its predecessor with the same permissions by @dylanmtaylor in #1957
  • fix(engine): never let document text close the generated HTML style element by @dylanmtaylor in #1955
  • perf(engine): keep each events.poll topic once by @dylanmtaylor in #1935
  • fix(doc): list a page once however often a file lists it by @dylanmtaylor in #1927
  • fix(layout): end the fill distribution loop when no child can freeze by @dylanmtaylor in #1926
  • fix(svg): refuse a document compressed twice and charge a refused embedded one by @dylanmtaylor in #1924
  • fix(mcp): render prompt placeholders in one pass over the template by @dylanmtaylor in #1922
  • fix(render): check the nesting limit for mask content and bound GIF frame buffers by @dylanmtaylor in #1925
  • perf(engine): list a few step names in a missing-reference error by @dylanmtaylor in #1941
  • perf(svg): hash an embedded image's bytes once per import by @dylanmtaylor in #1945
  • fix(doc): bound the string bytes an expression holds and stop concatenating at the cap by @dylanmtaylor in #1950
  • fix(engine): hold a plugin's text.preview to the permissions of the command it previews by @dylanmtaylor in #1959
  • fix(ui): write a plugin's offered file through the confined file helper by @dylanmtaylor in #1960
  • perf(collab): memoise layer depths in diff and skip the sibling scan for a new child by @dylanmtaylor in #1961
  • perf(vectordrawable): resume each repeated name's suffix search where it stopped by @dylanmtaylor in #1964
  • perf(pdf): collect each text style's outlines and decorations in one pass by @dylanmtaylor in #1965
  • perf(engine): index variables once when following a library's alias chains by @dylanmtaylor in #1968
  • fix(format): import a Sketch page once however often the file lists it by @dylanmtaylor in #1973
  • fix(engine): count each id Shape Builder is given once by @dylanmtaylor in #1974
  • perf(engine): replace linear scans that made document-sized inputs quadratic by @dylanmtaylor in #1921
  • fix: create test and benchmark temp directories fresh, never adopt an existing one by @dylanmtaylor in #1977
  • fix(server): clean a published file's name when it is taken from the file by @dylanmtaylor in #1978
  • fix(collab): build no repair for a batch refused for lack of permission by @dylanmtaylor in #1980
  • Pass the Linux signing key to the release workflow by @dylanmtaylor in #2001
  • feat(web): a host bridge for embedding pages, ?host=parent and data-host="page" (#1356) by @helenkwok in #1358
  • figcraft-web: a Save of a host-opened document goes out under the host's file name (builds on #1358) by @helenkwok in #1806
  • fix(ui): About credits table columns can be dragged wider or narrower by @FredApps in #1969
  • Colour picker: dragging a gradient handle on the canvas keeps the picker and the handles up (#1852) by @TrevorBrown-dev in #1985
  • M3: glass effects take variables, and their frost stays within 0–100 by @aleksei-suholita in #1886
  • M3: glass bends with the reference tool's thick-lens profile and splits its colours over 8 steps by @aleksei-suholita in #1887
  • M3: glass's light is a line on its bevel, and splay turns the bend towards the centre by @aleksei-suholita in #1888
  • M3: glass bends towards its core, and rounded rectangles work it out in closed form by @aleksei-suholita in #1889
  • Copy the shared house rules into AGENTS.md by @FredApps in #2040

New Contributors

  • @aleksei-suholita made their first contribution in #1890
  • @helenkwok made their first contribution in #1358
  • @FredApps made their first contribution in #1969
Full Changelog: v0.15.1...v0.16.0

Performance and Compatibility

FigCraft is built primarily in Rust and uses a native desktop interface rather than Electron or an embedded web view. Its document engine is designed to update only the parts of a design that change, which can reduce unnecessary work when editing complex documents.

The project also supports a WebAssembly build, making browser-based use possible. Desktop installers are provided for Windows, macOS, Linux, and FreeBSD, subject to the available release packages.

Its main limitation is maturity. The developers explicitly identify the application as alpha software. Although its core editor and many design features are implemented, the project has not been fully validated against real Figma documents. Importing .fig files is best-effort, and its plugin system uses WebAssembly plugins rather than Figma's native plugin ecosystem.

Live collaboration is also in preview. Users can share a document through the default collaboration server or a self-hosted server, but the project does not yet provide accounts, team management, or a complete cloud workspace.

Privacy also requires attention when sharing. Online sessions upload files to a server, and the shared documents are not end-to-end encrypted. Anyone with an edit link or code can modify the file. Sensitive projects should therefore remain local, use a trusted self-hosted server, or be shared only through a trusted local network.

System Requirements

The project does not publish a single minimum CPU, RAM, or GPU specification. Its documented technical requirements include:

  • Operating systems: Windows, macOS, Linux, and FreeBSD, depending on the available build.

  • Development toolchain: Rust and Cargo for building from source.

  • Web build: WebAssembly support, with Trunk used for the browser build.

  • Storage: Local disk space for the application, design files, and assets.

  • Fonts: System fonts can be used, while the project's separate craft-fonts repository provides additional bundled fonts.

  • Internet connection: Not required for normal offline design work, but needed for online collaboration and other network-dependent workflows.

The easiest installation method is to download an appropriate installer from the project's GitHub releases. Developers who prefer building from source should follow the repository's current setup instructions.

Pros and Cons

Pros

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

  • Native application built in Rust without Electron.

  • Works offline without requiring an account.

  • Includes auto layout, components, variants, variables, and design-system tools.

  • Provides advanced vector editing and Boolean operations.

  • Supports interactive prototyping and developer handoff.

  • Exposes design operations through a CLI, JSON control channel, and MCP server.

  • Supports common image, vector, and document export formats.

  • Offers cross-platform desktop builds and a WebAssembly version.

  • Provides a foundation for local and self-hosted collaboration.

Cons

  • Still in alpha and not yet a complete replacement for Figma.

  • Figma document import is best-effort and has not been fully validated against real documents.

  • Does not support Figma's native plugin ecosystem.

  • Multiplayer collaboration remains a preview feature.

  • Lacks mature account, team, and cloud-workspace management.

  • Online sharing is not end-to-end encrypted.

  • Generated code requires review before production use.

  • Building from source requires familiarity with Rust and Cargo.

How to Install

Option 1: Download a Prebuilt Release

  1. Visit the FigCraft GitHub repository.

  2. Open the Releases section.

  3. Download the installer or package appropriate for your operating system.

  4. Install or extract the package according to its format.

  5. Launch FigCraft and create a new design or open an existing .figcraft project.

Prebuilt releases are the most convenient option for users who want to try the application without setting up a development environment.

Option 2: Build from Source

Install Rust and Cargo first, then clone the repository:

git clone https://github.com/storytold/figcraft
cd figcraft

Start the desktop application in release mode:

cargo run --release -p figcraft

To start the collaboration server separately:

cargo run --release -p figcraft-server

To run the workspace test suite:

cargo test --workspace

The project also provides a CI command for formatting, linting, tests, layering checks, and asset validation:

cargo xtask ci

For additional fonts, clone the shared font repository alongside FigCraft:

git clone https://github.com/storytold/craft-fonts ../craft-fonts

Without the additional font repository, FigCraft can fall back to system fonts. Consult the project's documentation for platform-specific dependencies and further configuration.

Final Verdict

FigCraft is an ambitious open-source design application that combines many of the features expected from a modern UI design tool with the benefits of native software and local-first storage.

Its strongest advantages are its component system, vector editor, prototyping tools, and command-driven architecture. Support for CLI automation and MCP is particularly interesting for developers who want AI agents to generate or modify interface designs as part of their development workflow.

However, its alpha status is a significant consideration. Figma import compatibility, collaboration, and plugin support are not yet mature enough to assume a seamless transition from established design platforms. Users working on critical production projects should evaluate these limitations before adopting it as their primary tool.

FigCraft is a promising choice for developers, designers, and open-source enthusiasts who want a native, offline-capable interface design tool. It is worth testing for new projects and automated design workflows, but teams that depend on Figma's complete collaboration ecosystem should treat it as an emerging alternative rather than a direct replacement.

FigCraft v0.16.0
Free
Software Informations:
Developer:

Operating System:
Windows / macOS / Linux / BSD
Date Added:
2026-11-07T05:29:58.572Z

CADCraft is a free, open-source computer-aided design (CAD) application designed as an alternative to Autodesk AutoCAD. Written in Rust, it provides a familiar drafting workflow with a command line, object snapping, layers, dimensions, hatching, blocks, and support for industry-standard CAD file formats.

Unlike browser-based CAD tools that depend on a web application framework, CADCraft uses a native desktop interface built with egui. It supports Windows, macOS, Linux, and FreeBSD, with an additional WebAssembly build for browser-based use.

One of CADCraft's most interesting features is its automation support. Users can control drawings through command-line tools, JSON commands, and the Model Context Protocol (MCP), making the application suitable for scripted drafting and AI-assisted design workflows.

However, CADCraft is still in early development. Although it already supports many everyday 2D drafting operations, it is not yet a complete replacement for AutoCAD, particularly for advanced engineering workflows and 3D modeling.

Features

2D Drawing and Editing Tools

CADCraft includes a broad collection of drawing commands for creating technical illustrations and engineering drawings. Users can create lines, polylines, circles, arcs, rectangles, polygons, ellipses, splines, and other geometric objects.

Its editing tools include moving, copying, rotating, scaling, mirroring, stretching, offsetting, trimming, extending, filleting, and chamfering objects. Array operations and other geometry-management commands are also available.

The command-line workflow resembles traditional CAD software. Users can enter commands, specify coordinates, use relative measurements, and repeat previous commands without relying exclusively on toolbar interactions.

Precision Drawing and Object Snapping

CADCraft provides object snapping for locating important geometric points, including endpoints, midpoints, centers, intersections, and tangency points.

Additional tools include polar tracking, orthographic drawing, grid snapping, direct distance entry, and coordinate-based input.

These features help users create accurate technical drawings rather than relying on approximate mouse positioning.

Layers and Object Properties

The application includes layer management tools for organizing drawing elements. Users can configure layer visibility, locking, freezing, colors, linetypes, and plotting properties.

A Properties palette allows individual drawing objects to be inspected and modified. Additional layer commands support operations such as isolating layers, matching properties, and restoring previous layer settings.

This functionality is particularly useful for architectural plans, mechanical drawings, electrical diagrams, and other projects that require structured drawing organization.

Dimensions, Text, and Annotations

CADCraft supports dimensioning tools, dimension styles, text, multiline text, leaders, and tables.

Its annotation features include configurable arrowheads, dimension overrides, TrueType fonts, text formatting, and associative dimensions that can follow changes to the underlying geometry.

These tools help users communicate measurements and technical information directly within their drawings. However, some advanced annotation features and compatibility details remain under development.

Hatching, Blocks, and Reusable Components

CADCraft supports boundary-based hatching, pattern fills, solid fills, gradient fills, blocks, attributes, and nested blocks.

Hatching is useful for distinguishing materials and areas in architectural or mechanical drawings. Blocks allow frequently reused objects to be inserted into multiple locations without recreating their geometry.

These capabilities provide a practical foundation for producing structured technical drawings.

DXF and DWG File Support

CADCraft reads and writes DXF drawings, including ASCII and binary formats. It also supports reading and writing DWG files through the open-source acadrust library.

The project documents support for DXF files from R12 through 2018 and DWG files from R13 through 2018.

Additional export options include SVG, PNG, and PDF, allowing drawings to be shared in vector, image, and document formats.

File-format support is an important advantage, but it does not guarantee perfect compatibility with every CAD application. Complex drawings should be tested for missing entities, formatting differences, and data loss when imported or exported.

Layouts and PDF Plotting

CADCraft includes paper-space layouts, viewports, page setups, and plotting commands. Users can work between model space and paper space, configure viewport scales, and export drawings to PDF.

These features are important for preparing technical drawings for printing, documentation, and distribution.

However, some advanced plotting functions and workflows are still incomplete, so users with demanding production requirements should verify that the available tools meet their needs.

Parametric Constraints

CADCraft includes geometric and dimensional constraints for defining relationships between drawing elements.

Its constraint tools can help maintain intended geometric relationships when objects are edited. The application also supports parameter expressions, automatic constraint generation, and conflict detection.

These capabilities are useful for users interested in more structured and editable CAD designs. Nevertheless, the implementation is still evolving, and its behavior should be evaluated against the requirements of a particular design workflow.

CLI, MCP, and AI Automation

One of CADCraft's distinguishing features is its extensive automation interface.

The project provides a command-line application, a JSON control channel, and an MCP server. These interfaces allow scripts and compatible AI agents to execute CAD commands, inspect drawings, query entities, and render results.

For example, a command-line workflow can create a drawing from a sample, execute a sequence of commands, save the result as a DXF file, and export a rendered image.

This approach could be useful for automatically generating repetitive diagrams, producing drawing variations, validating CAD files, or incorporating technical drawings into larger software workflows.

Download CADCraft v0.18.0 - Software Mirrors

CADCraft v0.18.0 for Windows

cadcraft-0.18.0-windows-x86.msi | 55.69 MB

cadcraft-0.18.0-windows-x86-portable.zip | 68.37 MB

cadcraft-0.18.0-windows-x64.msi | 56.74 MB

cadcraft-0.18.0-windows-x64-portable.zip | 70.94 MB

cadcraft-0.18.0-windows-arm64.msi | 53.37 MB

cadcraft-0.18.0-windows-arm64-portable.zip | 67.78 MB

CADCraft v0.18.0 for macOS

cadcraft-cli-0.18.0-macos-universal.zip | 59.88 MB

cadcraft-0.18.0-macos-universal.dmg | 80.12 MB

CADCraft v0.18.0 for Linux

cadcraft-0.18.0-linux-x86_64.tar.gz.asc | 228 B

cadcraft-0.18.0-linux-x86_64.tar.gz | 71.53 MB

cadcraft-0.18.0-linux-x86_64.rpm.asc | 228 B

cadcraft-0.18.0-linux-x86_64.rpm | 72.17 MB

cadcraft-0.18.0-linux-x86_64.pkg.tar.zst | 53.9 MB

cadcraft-0.18.0-linux-x86_64.flatpak.asc | 228 B

cadcraft-0.18.0-linux-x86_64.flatpak | 50.58 MB

cadcraft-0.18.0-linux-x86_64.deb.asc | 228 B

cadcraft-0.18.0-linux-x86_64.deb | 72.61 MB

cadcraft-0.18.0-linux-x86_64.AppImage.zsync.asc | 228 B

cadcraft-0.18.0-linux-x86_64.AppImage.zsync | 236.67 kB

cadcraft-0.18.0-linux-x86_64.AppImage.asc | 228 B

cadcraft-0.18.0-linux-x86_64.AppImage | 67.55 MB

cadcraft-0.18.0-linux-riscv64.tar.gz.asc | 228 B

cadcraft-0.18.0-linux-riscv64.tar.gz | 70.17 MB

cadcraft-0.18.0-linux-riscv64.rpm.asc | 228 B

cadcraft-0.18.0-linux-riscv64.rpm | 70.87 MB

cadcraft-0.18.0-linux-riscv64.deb.asc | 228 B

cadcraft-0.18.0-linux-riscv64.deb | 71.13 MB

cadcraft-0.18.0-linux-aarch64.tar.gz.asc | 228 B

cadcraft-0.18.0-linux-aarch64.tar.gz | 68.54 MB

cadcraft-0.18.0-linux-aarch64.rpm.asc | 228 B

cadcraft-0.18.0-linux-aarch64.rpm | 69.84 MB

cadcraft-0.18.0-linux-aarch64.pkg.tar.zst | 52.02 MB

cadcraft-0.18.0-linux-aarch64.flatpak.asc | 228 B

cadcraft-0.18.0-linux-aarch64.flatpak | 47.24 MB

cadcraft-0.18.0-linux-aarch64.deb.asc | 228 B

cadcraft-0.18.0-linux-aarch64.deb | 70.41 MB

cadcraft-0.18.0-linux-aarch64.AppImage.zsync.asc | 228 B

cadcraft-0.18.0-linux-aarch64.AppImage.zsync | 226.87 kB

cadcraft-0.18.0-linux-aarch64.AppImage.asc | 228 B

cadcraft-0.18.0-linux-aarch64.AppImage | 64.75 MB

CADCraft v0.18.0 for BSD

cadcraft-0.18.0-freebsd-x86_64.tar.gz | 71.21 MB

cadcraft-0.18.0-freebsd-aarch64.tar.gz | 60.34 MB

Others Download related to CADCraft v0.18.0

release-signing-key.asc | 803 B

cadcraft-web-0.18.0.zip | 10.73 MB

CADCraft v0.18.0 Source Code

CADCraft v0.18.0 Source code (zip)

CADCraft v0.18.0 Source code (tar.gz)

CADCraft v0.18.0 Release Notes:

What's Changed

  • Autosave: failures are shown, and a crash is recovered at the first relaunch by @tanish2k09 in #2670
  • A panic in the interface saves the work and reports it (E4) by @tanish2k09 in #2671
  • Add a security policy (E33) by @tanish2k09 in #2672
  • DWG reader and writer run in a child process (E7) by @tanish2k09 in #2673
  • constraints: find the next default parameter name in one pass by @dylanmtaylor in #2674
  • Regions: bound the work of renesting loops after a boolean by @dylanmtaylor in #2680
  • Extents: measure each block definition once per bulk extents pass by @dylanmtaylor in #2681
  • constraints: share geometry preparation across an operation and budget spline rebuilds by @dylanmtaylor in #2677
  • Autosave: keep every folder's lock, and don't let a failure hide or wait by @tanish2k09 in #2676
  • Multilines: find each segment's usable neighbour direction in linear time by @dylanmtaylor in #2679
  • DXF: read up to 100 million group codes, or a set limit, without running out of memory silently (#1976) by @tanish2k09 in #2683
  • DXF: raise the group-code limit so large DWGs open (#1948) by @MrBeeboh in #1976
  • constraints: evaluate a named expression without copying its text by @dylanmtaylor in #2675
  • fonts: scan the Android and HarmonyOS system font directories by @qinshah in #2650
  • Dynamic blocks: index kept objects once per listing; copy each value record once by @dylanmtaylor in #2678
  • EXTEND: a polyline's arc end segment runs on round its circle by @Tyler-Chiriboga in #2656
  • fix(io): a solid HATCH keeps its angle, scale and double flag by @euthiferreira in #2665
  • FIND: a Find and Replace window, not only the command line by @r4x2t7 in #2607
  • EXPLODE: a block reference with different X and Y scales gives ellipses, not circles by @Tyler-Chiriboga in #2649
  • Round-trip harness and corpus report: open, save, reopen and compare (#1937, E12) by @tanish2k09 in #2685
  • io: open → save → reopen round-trip harness with loss report, cadcraft-cli roundtrip, cargo xtask corpus (FF5) by @francescoBV in #1937
  • fix(engine): merge another drawing's tables and blocks in linear time by @dylanmtaylor in #2689
  • i18n(sv): translate 20 new strings by @kler in #2695
  • MINSERT: a block reference repeated in rows and columns, as AutoCAD does by @2ez4gcx in #2698
  • Drop missing files from the recent list when opening them fails by @Silvertree2010 in #2706
  • fix(io): DXF import looks up linetype, style and entity layer names in a set by @dylanmtaylor in #2707
  • fix(engine): look names up in an index in AUDIT, layer-state restore and CAL by @dylanmtaylor in #2712
  • fix(io): an ACAD_TABLE with no rows or no columns reads as an empty table by @dylanmtaylor in #2708
  • fix(io): sort each space once when a DXF has several SORTENTSTABLEs for it by @dylanmtaylor in #2709
  • fix(engine): autosave files are owner-only and lock files are never written through a link by @dylanmtaylor in #2717
  • fix(render): charge every block entry, index attribute definitions, and walk dashes and outlines in linear time by @dylanmtaylor in #2724
  • Raster images drawn on screen and in PNG output (#2505) by @tanish2k09 in #2749
  • Raster images are drawn on screen and in PNG output, sharp at any zoom by @wovadi in #2505
  • View twist: DVIEW, twisted views, tiles and layout viewports (#1230, #2022) by @tanish2k09 in #2748
  • View twist: DVIEW, twisted model views, tiles and layout viewports by @mattlafy in #1230
  • A layout viewport keeps its view twist through DXF and DWG (part of #1316) by @ATARYS-LAB in #2022
  • SHX fonts, big fonts and unifonts; linetype shapes (#1944) by @tanish2k09 in #2751
  • fonts: read SHX shape fonts, big fonts and unifonts; draw linetype shapes (FF8, FF9) by @francescoBV in #1944
  • XCLIP and XCLIPFRAME; invert flag as AutoCAD's group 290 (#2354) by @tanish2k09 in #2756
  • blocks: XCLIP and XCLIPFRAME, clipped block and xref references kept through DXF and DWG by @francescoBV in #2354
  • Pass the Linux signing key to the release workflow by @dylanmtaylor in #2798
  • fix(doc): a rotated MINSERT array's extents reach its side copies by @tanish2k09 in #2795
  • New and redrawn icons (drawn in code); clicks on painted controls keep the keyboard with the drawing by @luminatiguy in #2319
  • Land #2316: Hebrew SHX fonts, font-change redraw, user font folders (fonts crate) by @tanish2k09 in #2803
  • SHX fonts and big fonts for text, Hebrew SHX, non-zero glyph fill by @luminatiguy in #2316
  • fix(ui): About credits tables fit without side-scrolling and their columns resize by @FredApps in #2747
  • feat(web): page host mode, so a page can host CADCraft in its own document (#2178) by @helenkwok in #2180
  • fix(mcp): render takes a background and a plot style (#803) by @ZIDAN44 in #2818
  • Land #1031: Latin accents in the CADCraft Stroke font by @tanish2k09 in #2831
  • fonts: read user SHX text fonts and keep Latin accents single-stroke by @leonardopbatista in #1031
  • Land #1971 and #2016: Georgian font and Georgian interface language by @tanish2k09 in #2833
  • Fonts: draw Georgian with craft-fonts' Noto Sans Georgian, on the desktop and the web by @devius in #1971
  • i18n: add Georgian (ka) interface language by @devius in #2016
  • build: drop three egui patches nothing uses by @tanish2k09 in #2835
  • Stage 1 stack: land #2584, #1626, #2028, #2107, #2471, #1026, #2612, #2545, #2658 by @tanish2k09 in #2837
  • Menus list their items in the reference menu tree's order by @assamaral in #2658
  • fix(dxf): hostile-input hardening in the DXF reader and writer (fixes #1025) by @vangel76 in #1026
  • Open a drawing on the view it was saved at by @Hamza0101 in #1626
  • Keep a landscape media's size order and rotation when saving DXF/DWG by @ffishman in #2028
  • DXF read: number viewports in file order when every id is unknown (#1463) by @assamaral in #2107
  • DWG save: read kept objects as their own version, and give proxies their own class by @ffishman in #2471
  • BREAK and TRIM keep the object's handle, as AutoCAD does by @2ez4gcx in #2545
  • HATCH and LWPOLYLINE in a tilted plane are read as seen from above (#1886) by @aldozar in #2584
  • Properties edits leave objects on locked layers alone and say how many by @Slopapalooza in #2612
  • Stage 1 stack 2: land #2587, #2585, #2608 by @tanish2k09 in #2842
  • Plot: choose the output format from the path extension (fixes #2556) by @SBaksa in #2585
  • OLE2FRAME: draw its frame outline; a DWG save no longer lists it as left out (fixes #2422) by @SBaksa in #2587
  • TEXTEDIT: an Edit Text window on the shortcut menu by @r4x2t7 in #2608
  • Copy the shared house rules into AGENTS.md by @FredApps in #2850

New Contributors

  • @qinshah made their first contribution in #2650
  • @euthiferreira made their first contribution in #2665
  • @r4x2t7 made their first contribution in #2607
  • @francescoBV made their first contribution in #1937
  • @wovadi made their first contribution in #2505
  • @luminatiguy made their first contribution in #2319
  • @FredApps made their first contribution in #2747
  • @helenkwok made their first contribution in #2180
  • @devius made their first contribution in #1971
Full Changelog: v0.17.1...v0.18.0

Performance and Compatibility

CADCraft is written in Rust and uses egui for its desktop interface. Its architecture separates core geometry, document management, rendering, and command processing from the graphical interface.

The project also uses spatial indexing and incremental updates to improve drawing interaction. Its roadmap reports fast object picking in large drawings, although these internal performance measurements should not be treated as independent benchmarks for every workload.

CADCraft supports multiple operating systems and offers both native applications and a browser-based build. The available release packages include installers and portable formats for supported platforms.

The primary limitation is feature maturity. CADCraft already implements many common 2D drafting operations, but its roadmap identifies substantial gaps in overall AutoCAD compatibility. Advanced 3D modeling, including solids, surfaces, meshes, and rendering, remains a major area of planned development.

Users who primarily create 2D technical drawings may find the current feature set promising. Professionals who depend on advanced 3D modeling, specialized CAD extensions, complex external references, or highly specific DWG workflows should not assume those requirements are fully supported.

System Requirements

CADCraft 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 compatible with its WebAssembly application.

Prebuilt releases are the easiest way to get started. Depending on the platform, downloads include Windows installers, portable archives, macOS disk images, Linux AppImages, Flatpak packages, Debian packages, RPM packages, and compressed archives.

Building from source requires Rust and Cargo, Git, and the dependencies specified by the project. Linux developers may also need ALSA development headers.

The project does not establish a universal minimum CPU, RAM, or GPU requirement for every supported drawing workload.

Pros and Cons

Pros

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

  • Familiar AutoCAD-style command-line workflow.

  • Extensive 2D drawing and editing tools.

  • Supports layers, object snapping, dimensions, hatching, blocks, and constraints.

  • Reads and writes DXF files and supports DWG import and export.

  • Exports drawings to PDF, SVG, and PNG.

  • Provides CLI, JSON, and MCP interfaces for automation.

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

  • Built with Rust and a native graphical interface rather than Electron.

Cons

  • Still in early development, with incomplete feature parity.

  • Advanced 3D modeling and rendering are not yet implemented.

  • Some specialized CAD commands and workflows remain incomplete.

  • Complex DWG files may not retain every feature or property during conversion.

  • Advanced plotting, annotation, and interoperability workflows require further validation.

  • Not yet a dependable replacement for every professional AutoCAD workflow.

How to Install

Option 1: Download a Prebuilt Release

  1. Visit the official CADCraft GitHub repository.

  2. Open the Releases section.

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

  4. Install or extract the package.

  5. Launch CADCraft and create a new drawing or open an existing CAD file.

For 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.

Option 2: Build from Source

If you prefer compiling the application yourself, first clone the repository:

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

Enter the project directory:

cd cadcraft

Then run the application with its sample drawing:

cargo run --release -p cadcraft -- --sample

This command builds and launches the desktop application with a sample drawing. The initial build may take some time while Cargo downloads dependencies and compiles the project.

Consult the repository's build documentation if additional platform-specific dependencies are required.

Option 3: Use the Browser Version

CADCraft also provides a WebAssembly build. Developers can run the web application locally using Trunk, provided the necessary Rust and WebAssembly development tools are installed.

For example:

cd apps/cadcraft-web

trunk serve

This starts the local development server for the browser-based application. For regular use, check the official releases for a prebuilt web package where available.

Final Verdict

CADCraft is an ambitious open-source CAD project that combines a familiar 2D drafting workflow with modern development practices and automation capabilities. Its support for DXF and DWG, precision drawing tools, layers, dimensions, layouts, and PDF exports makes it a promising option for users who need a free alternative to proprietary drafting software.

Its CLI and MCP integration are particularly noteworthy. They make CADCraft more than a graphical drawing application by enabling scripted operations and AI-assisted workflows that could benefit developers, engineers, and technical teams.

The main drawback is its early development status. Although many everyday 2D drafting features are already available, advanced 3D modeling and several specialized workflows remain incomplete. Compatibility with complex files also needs careful testing before the application can be trusted for critical production work.

CADCraft is worth trying for 2D drafting, CAD experimentation, and automated drawing generation. However, professionals who depend on complete AutoCAD compatibility or advanced 3D design should treat it as an emerging alternative rather than a full replacement.

CADCraft v0.18.0
Free
Software Informations:
Developer:

Operating System:
Windows / macOS / Linux / BSD
Date Added:
2026-11-07T05:29:53.127Z