Unofficial desktop client for Excalidraw on Windows, macOS, and Linux. It is just an electron wrapper for the website, I made this because I don't want to use it in a tab.
Note: This loads the live excalidraw.com website — an internet connection is needed for the first launch. Subsequent launches may work offline thanks to browser caching.
Head over to the Releases page and download the appropriate installer for your operating system:
| Platform | Format |
|---|---|
| macOS | .dmg (Apple Silicon) |
| Windows | Setup .exe or Portable .exe |
| Linux | .AppImage or .deb |
If you get the error "Is Damaged and Can't Be Opened. You Should Move It To The Bin", run:
xattr -c /Applications/Excalidraw.appThis is because I don't have a developer certificate and it's not notarized.
After downloading, make the AppImage executable:
chmod +x Excalidraw-*.AppImage
./Excalidraw-*.AppImageThe app registers itself as a handler for .excalidraw files. You can double-click any .excalidraw file to open it directly in the app. On Windows (NSIS installer), you'll be prompted during installation; on macOS and Linux, it's automatic.
Before building the project, ensure you have the following prerequisites installed:
- Node.js (version 22.12.0 or higher)
- npm (comes with Node.js)
Clone the repository:
git clone https://github.com/pgkt04/excalidraw-desktop.git
cd excalidraw-desktopInstall the dependencies:
npm installTo run the app in development mode:
npm startTo create a production build:
| Command | Platform | Output |
|---|---|---|
npm run dist |
Current OS | Depends on platform |
npm run dist:mac |
macOS | .dmg (arm64) |
npm run dist:win |
Windows | Portable .exe + NSIS Setup .exe |
npm run dist:linux |
Linux | .AppImage + .deb |
The generated installers will be in the dist/ folder.
