Site navigation

What is Varve?

A local-first design suite with six task workspaces: Design, Print, Draw, Photo, Motion, and Email, for vector, layout, typography, animation, print, and email work. Logo tools stay within Design, while Code export is shared. One application, no account, no subscription. It runs natively on Linux, macOS, and Windows. Built in Rust and TypeScript. Documents are saved as local files on your machine; there is no account-based hosted service, though a bounded browser demo of the editor is available.

Connected creative workflows

Most creative work spans multiple disciplines. A poster needs vector shapes, typography, and print-ready export. A social media campaign needs layout, animation, and multiple output formats. A product design needs components, prototyping, and developer handoff.

Varve organizes these tasks into six workspaces: Design, Print, Draw, Photo, Motion, and Email. Switching changes the tools and panels for the task while keeping the same document, layer system, selection, and history. Logo is a workflow inside Design; the shared Code panel is available from any workspace.

Illustration can stay in that shared document too: import transparent linework, sample its visible pixels with Magic Wand, and fill a separate Flats layer. Paint and clipped shading are also available from the Design toolbar. Mark an imported image as a local concept reference, then control its sampling and export inclusion separately. These are ordinary layers and Inspector controls in the existing editor. See the verified strokes, flats, references, and clipped-shading workflows.

Design canvases and publishing pages

Varve keeps two kinds of work surfaces deliberately distinct. Adesign canvas is the open-ended place for screen design, exploration, components, and prototypes. Framesare the editable containers inside it: they can clip content, use auto layout, and export directly.

A publishing page is an ordered output surface for print and page-layout work. It owns trim, bleed, page numbering, spreads, master-page composition, and page-aware export. Frames can live inside a publishing page without losing their design-container meaning.

Figma uses “pages” for an organizational canvas. Varve calls that role a design canvas and reserves “page” for a publishing surface, so the name tells you what will happen at export.

Watch a workflow

A real editing pass recorded from the application: select a layer, inspect a Bézier path in node-edit mode, then open the export dialog. Like every image on this site, it is captured by a deterministic pipeline from a seeded demo document — never hand-edited.

Still frame of the Varve editor with the demo poster document fitted in the workspace
Select, node-edit, export — one pass through the real interface. The recording is available on demand with native controls; the poster remains visible until you press play and is used as the still frame when your system asks for reduced motion.

Local-first, your files, your machine

Varve stores design data locally. No account or mandatory cloud sync is required, and core editing works offline. Optional model downloads, online font/icon search, user-configured providers, update checks, and aggregate measurements are separate network features; consented measurements do not include design content. You own your files, you control where they live, and the desktop application uses a native Rust engine. The same engine is compiled to WASM for the browser demo — a bounded subset, not a hosted replacement for the desktop app.

In Firefox and Safari, the browser demo saves snapshots as downloads. Since those browsers do not tell a page whether a download was kept, Varve keeps the document markedModified and warns before leaving until a persistent file write completes.See how browser saving works.

Quiet feedback, honest progress

Varve keeps the interface calm while you work. Short actions stay quiet or use a small, contextual activity indicator; structured content keeps its shape with placeholders; and downloads, imports, and exports show real progress instead of pretending that every wait is the same. Fast actions do not flash a loader, background saves remain unobtrusive, and failures expose a clear recovery path.

Controls that keep their meaning

Varve keeps an on/off switch for a real binary setting, uses peer selectors for choices like theme and color space, and keeps multi-select work in checkboxes. That small distinction makes dense panels easier to scan and keeps a control's visual state aligned with what will actually happen to your document.

Native desktop apps across platforms

Varve runs natively on Linux. Arch/CachyOS x86_64 is the tested tier. Ubuntu and Fedora x86_64 are best effort: release packages pass install checks on Ubuntu 22.04 and in a Fedora container. ARM64 is best effort. macOS (Apple Silicon) and Windows (x86_64 and ARM64) are also published. The rendering architecture separates scene computation from display, using an intermediate representation that replays efficiently to the canvas. The same codebase powers both the native desktop and WASM web builds.

Under sustained frame pressure, navigation may use a reduced-resolution render surface. Pan and zoom can also briefly reproject the last worker frame while a current frame is being prepared; that preview can look soft or incomplete until the replacement is painted. Once input stops, Varve requests an authoritative frame at the selected quality. The warm refinement targets are 500 ms for ordinary work and 1 s for heavy work after required assets are ready; these are targets, not timing guarantees. Cold image or font readiness can extend the wait and is not quantified in the published evidence. Rendering choices do not change document geometry or export settings. The optional WebGPU compositor can draw eligible solid-color rectangles, circles, and ellipses after device checks; other artwork uses Canvas2D or the render worker, and a ready GPU does not mean every frame uses it. Linux WebKitGTK keeps the Canvas2D display path.

A navigation preview is temporary display state, not a separate copy of your design. A delayed worker frame can leave the preview soft for longer than its target, so Varve reports and tests settled refinement instead of promising that every device sharpens immediately. Recovery points are written while you edit, and identical automatic backups are skipped. Image representations are managed against the documented memory budget; visible and offscreen sources may use different cached representations.

AI features are on by default, run on your device with no Varve AI server, and can be turned off in Settings. Local workflows do not upload artwork; an enabled cloud background-removal provider sends the image to the endpoint you configure. Core editing never requires a model download, and unsupported acceleration shows an honest unavailable state instead of silently switching to a server.

On desktop, non-AI image resampling can run on the machine's GPU through a native Vulkan, Metal, or D3D12 path. The native offscreen effect provider is also available to explicit asynchronous consumers; the current interactive preview and export replay remain on the authoritative software path. A device is only used after it is discovered through the OS graphics stack and passes a bounded self-test; software renderers are declined, and every accelerated operation keeps a working CPU fallback. Canvas presentation stays in the webview either way. On-device AI inference can use a verified GPU execution provider when the optional WebGPU runtime component is present and the model has been verified for it; otherwise it runs on the CPU, and every result reports which provider actually ran.

Source-available, shaped by its users

Varve is licensed under FSL-1.1-MIT and is free to use. Source code, issues and release notes are on GitHub. Community input influences priorities. No VC pressure and no feature-checklist deadlines. Features are built when they work, not when they sound good in marketing copy.

Who is Varve for?

Linux users

Creators on Linux who need native Linux builds, tested on CachyOS (Arch-based), plus CMYK print. Built in Rust and TypeScript.

Multi-disciplinary creators

Designers who switch between vector, layout, motion, and print work and want one document model instead of separate apps.

Privacy-conscious creators

Freelancers and independents who want professional tools without subscription costs, cloud dependencies, or mandatory accounts.

Early adopters

People who want to test emerging workflows, report problems, and influence the direction of a developing creative tool.

Who Varve is not for (yet)

Because Varve is in beta, it is not yet the right choice for every situation:

  • Critical production deadlines: expect bugs, incomplete tools, and workflow changes. Keep backups and test before relying on it for paid work.
  • Teams needing real-time collaboration: collaboration is not implemented — this is a single-user tool today.
  • Complex-script text: the engine has a canonical UAX #9 + paragraph layout pipeline (itemization, line breaking, visual run order, caret geometry), but live Canvas2D shaping and export parity for Arabic, Hebrew, Devanagari, Thai, and similar scripts remains in development.
  • Intel Macs: macOS builds target Apple Silicon only. The on-device AI depends on the ONNX Runtime, whose upstream discontinued Intel macOS binaries, and Apple has ended new Intel macOS support.

Coming from another design tool?

See how Varve compares to Figma, Adobe Illustrator, Affinity, Sketch, Inkscape, and Penpot — what's genuinely different, and where Varve still falls short today.

Beta status

Varve is in public beta. Core features are functional and tested, but you may encounter bugs, incomplete tools, or changes to workflows and file formats as development continues. We recommend keeping backups of important work and not relying on Varve as the sole tool for critical production projects at this stage.

The value of participating now: test emerging workflows, report problems that matter to you, and help shape where Varve goes next. See the known issues and release notes for current limitations.

Get started

Try Varve beta.

Free and source-available under FSL-1.1-MIT. Expect rough edges — it is an early release.

Search Varve