Skip to content

Repository files navigation

Excalidraw Workspace Logo

Excalidraw Workspace

A fast, local-first desktop workspace and canvas for Excalidraw drawings. Folder-based workspaces, native OS file associations, terminal CLI, and zero cloud dependency.

Tauri 2 React 19 Rust Bun License MIT


Excalidraw Workspace Application Preview

Excalidraw Workspace with local folder tree navigation and dark-mode whiteboard canvas.


🌟 Why Excalidraw Workspace?

While Excalidraw is an incredible diagramming tool, managing multiple .excalidraw files across folders on your local machine has traditionally been cumbersome.

Excalidraw Workspace solves this by turning any local folder into an organized drawing workspace with native desktop performance, instant file switching, and seamless operating system integration.


✨ Features

  • 📁 Folder-Backed Workspaces: Select any directory on your computer to browse, manage, and edit nested drawings in an intuitive file explorer tree.
  • 🎨 Full Excalidraw Power: Complete whiteboard canvas with drawing tools, custom libraries, Mermaid diagram imports, shapes, hand-drawn styles, and dark/light modes.
  • Local-First & 100% Offline: Your diagrams never leave your disk. Works entirely without an internet connection.
  • 💻 Native CLI (exwp): Open drawings or workspaces straight from your terminal with relative path resolution (exwp ., exwp ./architecture/system.excalidraw).
  • 🔄 Single-Instance IPC Engine: Opening files externally automatically focuses your active window and switches drawings without spinning up duplicate background processes.
  • 🖱️ OS Context Menu & Double-Click: Full FreeDesktop/GNOME integration on Linux. Right-click any .excalidraw file and choose "Open with Excalidraw Workspace" or double-click to view.
  • 🏷️ Native File MIME Icons: Custom branded icons for .excalidraw and .excalidraw.json documents in Nautilus / GNOME Files.
  • 🚀 Blazing Fast Native Backend: Built with Tauri 2 and Rust for lightweight memory footprint and instant startup.

📂 Workspace & File Navigation

Workspace Tree & History
  • Recent Workspaces: Switch between project folders in one click from the workspace header dropdown.
  • Tree Explorer: Create files, create nested folders, rename, duplicate, and delete drawings directly from the sidebar.
  • Quick Reveal: Right-click any file in the sidebar to reveal it directly in your OS file manager.

🖥️ Operating System Integration

OS Integration and Context Menu
  • Double-Click Association: Opening a .excalidraw file launches the app, switches the active workspace to the file's parent folder, and opens the drawing.
  • Context Menu: Registered under FreeDesktop standard application/vnd.excalidraw+json MIME specification.

⌨️ Command Line Interface (exwp)

exwp Terminal Usage

Excalidraw Workspace ships with the exwp command-line utility installed automatically to your path:

# 1. Open the application
exwp

# 2. Open the current terminal directory as the workspace
exwp .

# 3. Open a specific project directory
exwp ~/Documents/system-designs

# 4. Open an existing drawing (and auto-set containing directory as workspace)
exwp ./infra/kubernetes.excalidraw

# 5. Create and open a new drawing directly
exwp new-diagram.excalidraw

📦 Installation

Fedora / RHEL (.rpm)

# Install the built RPM package
sudo dnf install ./Excalidraw-Workspace-0.1.0-1.x86_64.rpm

Ubuntu / Debian (.deb)

# Install the built DEB package
sudo apt install ./Excalidraw-Workspace_0.1.0_amd64.deb

Direct Script Install (User-level)

You can also install the desktop integrations and CLI directly from the source repository:

./scripts/install.sh

🗑️ Uninstallation

Excalidraw Workspace includes a complete uninstallation suite:

# 1. Via CLI
exwp --uninstall

# 2. Via Uninstaller Script (interactive)
./scripts/uninstall.sh

# 3. Via Package Manager (RPM)
sudo dnf remove "Excalidraw Workspace"

# Optional: Purge all local configurations and cache data
./scripts/uninstall.sh --purge

🛠️ Development & Building

Prerequisites

  • Bun (v1.2+) or Node.js (v20+)
  • Rust (v1.77.2+)
  • Tauri 2 system dependencies:
    • Fedora: sudo dnf install webkit2gtk4.1-devel openssl-devel curl wget squashfs-tools
    • Ubuntu/Debian: sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev

Development Setup

# 1. Clone the repository
git clone https://github.com/pixelThreaderOfficial/excalidraw-workspace.git
cd excalidraw-workspace

# 2. Install dependencies
bun install

# 3. Launch desktop app in development mode
bun run dev
# in a separate terminal:
bun run tauri dev

Building Release Packages

# Compile frontend and package native desktop bundles (.rpm and .deb)
bun run tauri build

Built binaries and installers are output to:

  • src-tauri/target/release/excalidraw-workspace
  • src-tauri/target/release/bundle/rpm/
  • src-tauri/target/release/bundle/deb/

📄 License

Distributed under the MIT License. See LICENSE for more information.


Built with ❤️ by pixelThreader

About

Fork of @excalidraw Wrapped inside a desktop app, with added canvas management features

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages