New
Apps 1,532Makers 1,530This week 1,532
Promote your app−30%
Varve screenshot 1
0views in
the last 30 days

Varve

Local-first design software for vector, layout, typography, motion, prototyping, and print — one...

Built with Cursor

by varvedesign · Unclaimed · from CICôte d’Ivoire · added Oct 29, 2026
no ratings0 comments

Varve Varve

Local-first design software for vector, layout, typography, motion, prototyping, and print — one application, no subscription, no cloud account.

Status: public beta

Public beta. This repository contains the 0.5.1 update. The download page lists verified published application installers for Linux, macOS, and Windows, with their signing status. Core workflows are usable today, but the .varve document format and interfaces can still change. Platform signing and updater signatures are verified separately; check the download guidance for the chosen build. Update checks run only after you enable them.

Try in Browser Download Latest Feedback

Website · Docs · How it's built · Releases · Discussions

Design, illustrate, and publish — locally, without subscriptions. Vector graphics, typography, layout, motion, and print production in one application. Free under FSL-1.1-MIT (converts to MIT after 2 years), runs on Linux, macOS, and Windows, with an experimental browser build.

The Varve workspace: a poster document on the canvas with the layers panel on the left and the properties inspector on the right The same Varve poster document with the application in dark theme

Watch the 15-second deterministic editing workflow — select a headline, edit a Bézier path, and open export.

What works today

  • Six task workspaces — Design, Print, Draw, Photo, Motion, and Email share one document. Panels can be docked, split, floated, and restored; Logo tools stay in Design and Code export is available from every workspace.
  • Vector and layout — paths, Boolean operations, Shape Builder, node editing, multi-page documents, flex/grid layout, reusable components, and pattern definitions with bounded editing and export support.
  • Typography — paragraph and character styling, supported OpenType features, variable-font axes, text-on-path, and shaped-glyph outlines.
  • Illustration and comics — brush opacity/flow, stylus controls, separable flats and shading, panel layouts, editable captions and balloons, and localization-aware lettering.
  • Photo work — adjustments, retouching, tracing, masks, and colorization; supported RAW input and model-assisted workflows have documented limits.
  • Motion and prototyping — a timeline with keyframes, easing, and interactive prototypes. Motion is still in public beta.
  • Presentation decks — ordered editable frames with preview and raster PDF or PNG delivery. The PDF is not editable or searchable and has no tagged reading order.
  • Print production (desktop) — CMYK via ICC profiles, PDF/X export, and printer marks. Export support varies by format and document content.
  • Tokens and local plugins — manual token import/re-import and bounded local WebAssembly plugins for selected-layer analysis and batch renaming; there is no automatic token write-back or plugin marketplace.
  • Export — SVG, PDF, React, Svelte, Vue, Flutter, SwiftUI, email HTML, Web Components, Tailwind, and Lottie/CSS/SVG animation, computed locally.
  • Images and local intelligence — adjustments, effects, background removal, palette extraction, object selection, depth blur, on-device enhancement, and Generative Edit (mask-guided Fill, Remove, and Expand on one selected image; Replace and prompt-conditioned modes stay gated until a qualified local model exists). AI features are on in Settings by default and can be turned off. Larger models download only when requested.

Not yet implemented: real-time collaboration exists only as UI scaffolding. The native desktop application is the full product; an experimental browser build is available at varve.studio/try, and Varve on Chromebook explains the browser, installed-web-app, and ChromeOS Linux routes.

See Varve in action

Screenshots are generated by the deterministic capture pipeline (pnpm screenshots:product) from the running application against seeded demo documents — never hand-edited. See scripts/screenshots/README.md. A short deterministic workflow recording (select, node-edit, export) plays on varve.studio/product; GitHub renders the verified still above, with the video available from the linked product page.

A curved vector shape in Varve with its anchor points and Bézier handles shown in node editing mode

Node editing with live Bézier handles

A two-page editorial spread in Varve with headlines, two-column body text and image plates

A multi-page editorial spread

A type specimen in Varve showing a display character, a character set, a subhead and a body paragraph

A type hierarchy set on the canvas

The Varve timeline panel with a track for the selected layer

The timeline panel in the motion workspace

A page on the Varve canvas with a dashed bleed guide beyond the trim edge and the Page Print inspector showing per-edge bleed values

Bleed and trim guides for print production

The Varve menubar workspace switcher with Print selected, showing its publishing-page and Spreads controls beside the poster document

Workspaces swap panels for the task

The Varve Vectorize dialog tracing an imported photograph into editable vector paths, with the overlay preview, path, point and hole diagnostics, and source, prepared and vector view tabs

Trace an image into editable paths

The Varve Inspector Export tab showing Format and Code sub-tabs, quick export options, and saved export configuration controls

Export to SVG, PNG, WebP, or PDF

The Varve Effects inspector with a drop shadow added to the selected shape, showing offset, blur, spread, opacity and blend-mode controls

Stackable, non-destructive effects

The Varve typography inspector showing font family, weight, style, size, line height and letter spacing for the selected text

Type controls for the selected text

A reusable dotted vector pattern fills a selected shape in Varve, with repeat and document-alignment controls visible in the inspector

Apply a reusable pattern and align it to the document

Download

Get application installers from the Varve download page or the Varve v0.5.1 release. Optional AI models are published as separate releases.

Platform support

Platform Package Status Signing
Linux x86_64 AppImage · .deb · .rpm Tier 1 on tested Arch/CachyOS; best effort on other distributions Unsigned — SHA-256 checksums, SBOM, and build provenance published
Linux ARM64 AppImage · .deb · .rpm Best effort — native ARM64 release qualification passed Unsigned — SHA-256 checksums, SBOM, and build provenance published
macOS 13+ Apple Silicon (arm64) .dmg Best effort — release qualification passed; ongoing Mac hardware coverage is limited Unsigned, not notarized
Windows 10 (1809+) / 11 x86_64 NSIS .exe Best effort — native release qualification passed Unsigned
Windows 10 (1809+) / 11 ARM64 NSIS .exe Best effort — native ARM64 release qualification passed Unsigned
macOS Intel (x86_64) — Not published —

Minimum 4 GB RAM (8 GB recommended), 500 MB storage. Full detail and the policy behind each tier: docs/release/platform-support-matrix.md.

Privacy and local-first operation

Core editing works fully offline and no account is required. Varve does not send analytics or crash reports by default. Network access is feature-specific and may be used for:

  • Optional model downloads, fetched from the model provider shown in the model dialog and verified against a pinned checksum when one is available.
  • Online font and icon search, when you invoke those providers.
  • Update checks, only after you enable them. The published stable feed carries Tauri-signed metadata for Linux AppImage and Windows NSIS builds on both x86_64 and ARM64, plus Apple Silicon macOS app updates. Installed Debian/RPM packages and unsupported or non-writable copies update manually. Tauri update signatures are separate from platform code signing. Update checks send only your current version, platform, architecture, and release channel — no document data or device identifiers.
  • Optional cloud providers, only when you configure and invoke one (for example, a user-supplied background-removal endpoint).
  • Website and browser-demo analytics, GoatCounter only after Allow. The desktop app sends no usage stats. Crash reports remain local unless a build explicitly configures an upload endpoint; the public build does not.

Develop Varve

Full instructions, prerequisites, and per-OS system packages: docs/development/setup.md.

git clone https://github.com/varvedesign/varve
cd varve
pnpm install
just check-env             # verify Rust, pnpm, just, and WebKitGTK pkg-config

Run the application:

cd apps/desktop
pnpm tauri:dev              # native desktop window (Tauri)
# or
pnpm dev                    # web build via Vite → http://localhost:1420

pnpm --filter @varve/ui storybook runs Storybook, the UI component development environment — it is not the application.

Test and validate:

pnpm verify:affected        # impact-aware validation (default inner loop)
pnpm verify:push            # exact outgoing refs; reports CI deferrals
just test-rust              # cargo test --workspace
just test-js                # Vitest

See docs/development/setup.md#testing for the full validation strategy.

For GitHub Actions diagnosis and CachyOS local runner parity, see docs/CI_CD_RESILIENCE.md. The shortest pre-push checkpoint is pnpm verify:push; it validates the exact refs Git is about to send and reports heavyweight CI deferrals without running the full suite. Use pnpm verify:plan / pnpm verify:affected for current worktree changes, bash scripts/install-ci-tooling.sh --check for runner parity, and just ci-debug RUN_ID=<id> for a concise report from a failed remote run.

Architecture

Desktop shell (Tauri)
        ↓
Editor / scene model  (@varve/editor, @varve/scene)
        ↓
Engine abstraction     (@varve/engine — Tauri / WASM / in-memory)
        ↓
Rust native ⇄ WASM     (crates/varve-core, varve-layout, varve-effects, …)
        ↓
Render IR
        ↓
Canvas2D (default) / WebGPU and WebGL2 (experimental, opt-in)

The Rust engine computes a scene and emits a compact render IR; the webview replays it to Canvas2D by default. WebGPU and WebGL2 are opt-in experimental paths with hardware-dependent coverage and Canvas2D fallback. Start with the architecture overview, then see ADR-0001 for the rationale and docs/architecture/render-pipeline.md for the full pipeline. A bounded browser demo is hosted at varve.studio/try with honest capability messaging; the full product path is the native desktop application.

Package Purpose
@varve/ui Design system tokens, APG-pattern components, icon system
@varve/editor Editor shell, canvas, layers, inspector, tools, shortcuts
@varve/engine WASM/native/stub engine facade with IR-replay renderer
@varve/scene Immutable document model with ops
@varve/codegen SVG, React, Svelte, Vue, Flutter, SwiftUI, Web Components, email HTML, and more
@varve/platform Platform abstraction (Tauri/web/memory)
apps/       desktop shell + website (Astro)
packages/   TypeScript packages (editor, engine, scene, ui, codegen, …)
crates/     Rust workspace (varve-core, varve-layout, varve-effects, …)
docs/       architecture, ADRs, release engineering, security, privacy
scripts/    release, screenshot, and quality-gate tooling
.github/    CI/CD workflows, issue templates, Dependabot

Project status

Varve is in public beta. The latest published application release is v0.5.1, published on 2026-10-15 after the tagged candidate passed the release and publication gates. v0.5.0 shipped on 2026-10-09 as the previous public-beta release. Published installers cover Linux, macOS (Apple Silicon), and Windows. This checkout targets source version <!-- VARVE_VERSION -->0.5.1<!-- /VARVE_VERSION -->. Versioning follows SemVer; release notes are kept in CHANGELOG.md. Published v0.2.1 used document schema 2.21; this source tree writes schema 2.33, including a migration that removes the unwanted outline across existing pointed balloon tails. The app version and document schema are separate. A 2.33 file may not open safely in older app versions, so back up important documents and use v0.5.0 or later for files saved by this release. Documents with the legacy .strata extension remain openable through the migration pipeline.

Frequently asked questions

Is Varve free?
Yes. The Community Edition is free to download and use, with no subscription and no feature paywall.
Is Varve open source or source-available?
The application is source-available under FSL-1.1-MIT: the source is public and you may use, modify, and redistribute it for any purpose that doesn't compete commercially with Varve. Each release automatically converts to the plain MIT license two years after it ships. See LICENSE.

Several engine crates (varve-core, varve-colour, varve-trace, and others) are licensed separately under MIT OR Apache-2.0 — genuine OSI-approved open source. See docs/licensing/mixed-license-model.md.

Does Varve require an account or the cloud?
No account is required, and core editing works fully offline. Optional network features include model downloads, online font/icon search, consented update checks, user-configured cloud providers, and aggregate analytics — see Privacy and local-first operation.
What operating systems does Varve support?
Linux, macOS, and Windows. See Platform support for per-platform maturity and signing status. There is no mobile build.
Do

Description taken from the repository README.

Ratings

–
0 ratings
5 0
4 0
3 0
2 0
1 0

Rate this app

Sign in to rate

Comments 0

Sign in to comment

No comments yet.

Related apps

#design · #vector · #local-first