MCPcopy
hub / github.com/dai-shi/excalidraw-animate

github.com/dai-shi/excalidraw-animate @v0.7.2 sqlite

repository ↗ · DeepWiki ↗ · release v0.7.2 ↗
73 symbols 177 edges 24 files 0 documented · 0%
README

excalidraw-animate

excalidraw-animate

What is this

This is an external tool to convert an Excalidraw drawing into animation.

How to use it

Visit: https://dai-shi.github.io/excalidraw-animate

There are three ways to load content:

Load File

Load a single Excalidraw drawing (.excalidraw or .json file).

  1. Save your drawing as a file in Excalidraw
  2. Click Load File and select the file

Load Library

Load an Excalidraw library file (.excalidrawlib) containing multiple items. Each library item will be animated separately.

  1. Export a library from Excalidraw
  2. Click Load Library and select the .excalidrawlib file

Enter link + Animate!

Paste a URL into the text field and click Animate!

Supported formats:

  • Excalidraw shareable link: https://excalidraw.com/#json=xxxxx,yyyyy
  • Direct link to a library file: https://example.com/file.excalidrawlib

Tips

Elements without Animation Order

Elements without an explicit animation order are treated as Order=0 and animate in their creation order.

Grouped elements

When you group elements with different Order/Duration values, the input field shows empty with a "Mixed" placeholder. If you leave it empty, the original values are preserved. If you enter a new value, it applies to all selected elements.

  • Individual elements: 500ms default duration each
  • Grouped elements: 5 seconds total, divided among group members
  • You can override this by setting a custom Duration

Edit mode and Animate mode maintain separate data

To keep the ability to edit later, export from Edit mode with "Embed scene" enabled, then load the file in Edit mode.

Note: Files loaded in Animate mode are only available in Animate. Switching to Edit mode shows your previous Edit data, not the imported file. Also, SVG files exported from Animate mode can be loaded back into Animate, but cannot be edited in Edit mode (the exported SVG does not contain the original scene data).

Known issues

  • Exporting WebM feature is not perfect. Please use screen capture if that doesn't work as expected.

Package

It's also provided as a package: https://www.npmjs.com/package/excalidraw-animate

Tweets

Other projects with Excalidraw

Extension points exported contracts — how you extend this code

ModalProps (Interface)
(no doc)
src/Modal.tsx

Core symbols most depended-on inside this repo

extractNumberFromElement
called by 5
src/animate.ts
exportToSvgFile
called by 4
src/export.ts
animatePointer
called by 4
src/animate.ts
animatePath
called by 4
src/animate.ts
createDrawing
called by 4
e2e/testHelpers.ts
saveAnimateOption
called by 3
src/AnimateConfig.tsx
applyThemeToSvg
called by 3
src/useLoadSvg.ts
hideBeforeAnimation
called by 3
src/animate.ts

Shape

Function 72
Interface 1

Languages

TypeScript100%

Modules by API surface

src/animate.ts24 symbols
src/Toolbar.tsx13 symbols
src/AnimateConfig.tsx10 symbols
e2e/testHelpers.ts7 symbols
src/App.tsx5 symbols
src/useLoadSvg.ts3 symbols
src/export.ts3 symbols
src/Viewer.tsx2 symbols
src/Modal.tsx2 symbols
src/GitHubCorner.tsx1 symbols
src/ExcalidrawApp.tsx1 symbols
src/AnimateApp.tsx1 symbols

Dependencies from manifests, versioned

@eslint/js9.39.2 · 1×
@playwright/test1.58.0 · 1×
@testing-library/react16.3.2 · 1×
@types/dom-mediacapture-record1.0.22 · 1×
@types/node25.0.10 · 1×
@types/pako2.0.4 · 1×
@types/react19.2.9 · 1×
@types/react-dom19.2.3 · 1×
@vitejs/plugin-react5.1.2 · 1×
browser-fs-access0.38.0 · 1×

For agents

$ claude mcp add excalidraw-animate \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact