FigCraft v0.16.0

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
Categories:

Post a Comment/Report Broken Link: