excalidraw

Virtual whiteboard for sketching hand-drawn like diagrams

18 articles 118k View on GitHub ↗
18 articles
How to Optimize Excalidraw Performance for Large Drawings and Complex Scenes

Optimize Excalidraw performance for large drawings with batch mutations scene.mapElements and requestAnimationFrame. Keep Excalidraw responsive with thousands of elements.

performance
Feb 25, 2026
How to Debug Excalidraw Issues: A Complete Guide to Collaboration and Rendering Problems

Debug Excalidraw collaboration and rendering issues by tracing WebSocket payloads, verifying Firebase cache, and monitoring renderers. Solve problems with this complete guide.

how-to-guide
Feb 25, 2026
How to Use Excalidraw Collaboration Features: Collaborator and SocketId Guide

Learn to use Excalidraw collaboration features with the CollabAPI, SocketId, and Collaborator objects. Enable real-time co-editing easily.

how-to-guide
Feb 25, 2026
How Excalidraw Handles FreeDraw, Text, and Image Element Types

Discover how Excalidraw manages FreeDraw, Text, and Image elements. Learn about its JSON structure, base interfaces, and runtime type guards for efficient rendering and creation.

internals
Feb 25, 2026
Core Excalidraw Packages Explained: @excalidraw/common, @excalidraw/element, and @excalidraw/math Architecture

Explore the core Excalidraw packages like @excalidraw/common, @excalidraw/element, and @excalidraw/math. Understand their architecture and purpose for building custom solutions.

architecture
Feb 25, 2026
How to Use Excalidraw's PWA Capabilities for Offline Access

Unlock Excalidraw's PWA features for seamless offline access. Configure the service worker to cache assets and work anywhere with this quick guide.

how-to-guide
Feb 25, 2026
How Excalidraw Implements Local-First Support and Autosave to Browser Storage

Learn how Excalidraw achieves local-first support and autosave to browser storage using localStorage and IndexedDB for seamless offline functionality and zero data loss.

deep-dive
Feb 25, 2026
How to Implement Zoom and Pan Functionality for the Excalidraw Canvas

Implement zoom and pan for Excalidraw canvas using getStateForZoom and update scroll values. The hand tool facilitates drag panning for interactive canvas control.

how-to-guide
Feb 25, 2026
How Excalidraw Arrow Binding and Labeling Works: A Technical Deep Dive

Explore how Excalidraw implements arrow binding and labeling. Understand the technical details offixedpointbindings and text element rendering within the Excalidraw repository.

deep-dive
Feb 25, 2026
How to Add Support for Custom Shapes or Extend Existing Element Types in Excalidraw

Learn how to add custom shapes or extend element types in Excalidraw. Extend ExcalidrawElement, register your shape, and implement rendering for custom drawings.

how-to-guide
Feb 25, 2026
How to Customize the Hand-Drawn Style of Elements in Excalidraw

Customize Excalidraw hand-drawn style by adjusting roughness stroke style fill and edge roundness using the AppState API or UI controls for unique visuals.

how-to-guide
Feb 25, 2026
How to Implement Undo and Redo Functionality in the Excalidraw Editor

Implement undo and redo in Excalidraw using a stack-based history manager. Record changes with history record and trigger actions with createUndoAction and createRedoAction.

how-to-guide
Feb 25, 2026

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →