English | 한국어
An infinite-canvas presentation app for macOS and Windows. Arrange text, shapes and media on one board, place presentation frames around the views you want to show, then press Slide Show to move between them with continuous zoom/pan. Built with Tauri 2 + React 19 + TypeScript; the editor also runs in a browser.
ShowCase · Try the web editor · Download releases · User guide · Documentation map
- Present the big picture and the detail. Arrange frames on one canvas and guide attention with continuous zoom/pan and per-frame camera motion.
- Share one file. Export a presentation as HTML with a built-in player, or as a PDF with one page per frame.
- Start with an AI prompt. Choose General or Dynamic, then ask your assistant to create an editable presentation, optionally with HTML output.
- Send a cloud snapshot. Share an editable copy or a slideshow viewer with a link that lasts 24 hours.
- Editing: text, shapes, images and connectors; pan/zoom, multi-select, grouping, rotation, alignment, distribution, snapping, clipboard operations and undo/redo. Choose light/dark/system theme and English/Korean.
- Presenting: order and preview frames, move them with their contents, and edit transitions together. Set duration, easing, arc, roll and spotlight; navigate through the overview, play linked videos and open web links in text: URLs you type, or a link set on a text element. The app, cloud slideshow and newly exported HTML share auto-hiding controls, a laser pointer and temporary ink that is never saved: press P, drag to draw, and E to erase.
- Import & export: import images, PDF pages and local Figma files;
open/save editable JSON
.canvaslidefiles. Export HTML with image quality controls and a size estimate, or PDF with one page per frame at a chosen page resolution; desktop HTML export can embed installed fonts. - Recovery: unsaved work is copied locally in the background and offered back after a crash or an interrupted session; crash recovery explains what it keeps.
- Sharing: use a configured cloud service for editable copies or slideshow-only snapshots, or send an exported HTML file.
Until 1.0, each feature is core or experimental. Core features ship in every release on the platforms that support them, and their regressions are fixed first; the table lists the limits they inherit from formats and services outside the project. Experimental features work today, but they depend on a hosting platform the project does not control; they may change, gain limits or be removed before 1.0, and their fixes are best-effort.
| Feature | Status | Limitations |
|---|---|---|
| Canvas editing, presentation frames and Slide Show, including laser and ink | Core | |
| Desktop apps for macOS and Windows, the browser editor | Core | |
| Update checks and in-app installation | Core | See update behavior for platform limits |
Opening and saving .canvaslide files, crash recovery |
Core | Over HTTPS or localhost, Chromium-based browsers save back to the opened file; Safari and Firefox download a copy |
| Image and PDF import, HTML export with its player, PDF export | Core | |
| Figma import | Core | Figma does not publish the .fig format, so files from newer Figma versions may not import or may convert differently |
| Linked videos, including YouTube and Vimeo | Core | Playback depends on YouTube, Vimeo or the video's server, the network and browser codecs |
| Create with AI | Core | The result depends on the assistant and model you choose |
| Cloud sharing | Experimental | The hosted service's limits and availability depend on its Cloudflare plan |
For document and storage format guarantees, see file compatibility.
Download an installer from the official Releases page. Current builds are not OS code-signed; macOS builds are also not notarized. For a build downloaded from that page:
- macOS: Open the
.dmgand drag CanvaSlide into Applications, then launch it there. If you see “CanvaSlide is damaged and can't be opened”, open Terminal and runxattr -d com.apple.quarantine /Applications/CanvaSlide.app, then reopen the app. For an unidentified-developer or Apple-cannot-check-for-malware warning on macOS 15 or later, close the alert, open System Settings → Privacy & Security, click Open Anyway next to CanvaSlide and confirm. On macOS 12–14, Control-click (right-click) the app in Finder and choose Open. - Windows: Run the
.exeor.msiinstaller. If SmartScreen shows “Windows protected your PC”, click More info → Run anyway, then finish setup and launch CanvaSlide from the Start menu.
- Create content with the text or shape tools, paste an image, or import a file.
- Draw frames with F and arrange their sequence in the frame list.
- Start Slide Show with ⌘Enter / Ctrl+Enter, or F5. Use → and ← to navigate, O for overview, and Esc to return to the editor.
- Save an editable
.canvaslidewith ⌘S / Ctrl+S, or export HTML or PDF with ⌘E / Ctrl+E.
Ready-made flowcharts, diagrams and presentations are in examples. Open one and start Slide Show to explore it. For the full shortcut list, press K in the editor or visit the shortcut guide.
Open Create with AI, choose General or Dynamic, and copy the prompt into your AI assistant. Enable Generate an HTML file when you want HTML alongside the editable document. The app prepares and copies the prompt; generation happens in the assistant you choose. The optional portable CanvaSlide skill and authoring guide cover the file schema, scene counts, nested frames and export validation.
Save an editable .canvaslide using the current JSON format, or export HTML with its own player.
Press Copy link to upload a cloud snapshot and share it for 24 hours.
See cloud sharing for access options, limits and hosting setup, and the
hosted service for its terms, privacy, availability and limits.
The .canvaslide format is declared stable at 1.0. Before stabilization, newer versions may not open
older files. Contributor rules for format changes are in AGENTS.md.
CanvaSlide has no account, analytics, telemetry or crash reporting. Documents stay on your device until you share them; crash-recovery copies never leave it. The app contacts a service only in these cases:
| When | Contacted | What is sent |
|---|---|---|
| Desktop app: 3 seconds after launch unless turned off, and when you check for updates | GitHub (github.com, release-assets.githubusercontent.com) |
A request for the latest release's latest.json, with no document content, app version or device identifier. An update downloads only if you install it. |
| Copy link in the Share dialog, and opening a share link | The cloud share service (canvaslide.pages.dev in official builds) |
The whole document, including embedded images, kept for 24 hours; see hosted service. |
| Adding a linked video, showing a YouTube video, or playing a video | YouTube, Vimeo, or the server of a direct video link | The video link when it is added, to read its size; then thumbnail, player and video requests. |
| Using the web editor or opening a web example | The web editor's host (Cloudflare Pages) | Ordinary page requests. Documents stay in the browser unless you share them. |
| Opening the repository, release notes, a video's original page or a text link | Your default browser | The page you chose. |
As with any web request, each service sees your IP address and a user agent, and Cloudflare, which hosts the web editor and the share service, asks browsers that support Network Error Logging to report failed requests to it. A linked video set to play automatically, the default, starts loading when a slideshow, cloud slideshow or exported HTML reaches its frame, so presenting it contacts its provider without a click. Only one YouTube video per frame does so, and the browser or provider may still ask for a click to play it.
The launch check described above is enabled by default and can be turned off per user. Manual checks remain available in About CanvaSlide and through the macOS Check for Updates… menu item. Offline or when the request is blocked, the app keeps working and shows the failure only in the About dialog. Nothing is installed without your confirmation.
| Platform | Behavior |
|---|---|
| Windows | Downloads the update in the app, closes the app to run the installer, then reopens it. |
| macOS | Notarized updates install in the app and restart it; macOS may request an administrator password if the app folder is not writable. Current releases are not notarized, so notifications offer to open the release download page. |
| Browser | Does not check for or install app updates; the About dialog links to release notes. |
For update controls, follow the website guide. Release maintainers can find feed publication, signing and managed-network settings in release operations.
Install Node.js 22.20+ and the pnpm version pinned in package.json; Rust and the OS-specific Tauri prerequisites
are needed for desktop development. Full setup is in CONTRIBUTING.
pnpm install
pnpm dev:web # browser editor, http://127.0.0.1:1420
pnpm dev # Tauri desktop windowThe checks to run before a pull request are listed under Verify in AGENTS.md.
For website development, use the website guide. Maintainers build, sign and publish releases with the release guide, which is written in Korean.
Bug reports, feature ideas and pull requests are welcome. See CONTRIBUTING for issues, branch names and pull requests, and AGENTS.md for code rules and checks. Report security vulnerabilities privately as described in the security policy.
CanvaSlide's source code and documentation are released under the MIT License.
The MIT License does not cover the CanvaSlide name, logo or mascot artwork, and grants no right to
use them: the app icons in src-tauri/icons/, src/renderer/src/assets/canvaslide-light.png, and
in website/public/ the images brand/canvaslide-*.png, brand/ray-master.png,
brand/wing-smile-*.png, favicon.ico, apple-touch-icon.png, og.png and
images/canvaslide-showcase.webp.
The GitHub mark (website/public/brand/github-mark-*.svg and the icon in
src/renderer/src/components/ui/github-icon.tsx) is a trademark of GitHub, Inc. It is not covered
by the MIT License and is used only to link to this repository.
Third-party software keeps its own license. Every build lists what it includes, with the license
texts, in THIRD-PARTY-NOTICES.txt: the app shows it under About CanvaSlide → Third-party notices, and the
website links it from its footer.

