# excalidraw | Excalidraw | Knowledge Base | Instagit

Virtual whiteboard for sketching hand-drawn like diagrams

GitHub Stars: 118k

Repository: https://github.com/excalidraw/excalidraw

---

## Articles

### [How to Optimize Excalidraw Performance for Large Drawings and Complex Scenes](/excalidraw/excalidraw/optimize-excalidraw-performance-large-drawings)

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

- Tags: performance
- Published: 2026-02-25

### [How to Debug Excalidraw Issues: A Complete Guide to Collaboration and Rendering Problems](/excalidraw/excalidraw/debug-excalidraw-issues-collaboration-rendering)

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

- Tags: how-to-guide
- Published: 2026-02-25

### [How to Use Excalidraw Collaboration Features: Collaborator and SocketId Guide](/excalidraw/excalidraw/use-excalidraw-collaboration-features)

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

- Tags: how-to-guide
- Published: 2026-02-25

### [How Excalidraw Handles FreeDraw, Text, and Image Element Types](/excalidraw/excalidraw/excalidraw-element-types-handling)

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.

- Tags: internals
- Published: 2026-02-25

### [Core Excalidraw Packages Explained: @excalidraw/common, @excalidraw/element, and @excalidraw/math Architecture](/excalidraw/excalidraw/excalidraw-core-packages-purpose)

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

- Tags: architecture
- Published: 2026-02-25

### [How to Use Excalidraw's PWA Capabilities for Offline Access](/excalidraw/excalidraw/use-pwa-offline-access-excalidraw)

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

- Tags: how-to-guide
- Published: 2026-02-25

### [How Excalidraw Implements Local-First Support and Autosave to Browser Storage](/excalidraw/excalidraw/local-first-support-autosave-browser)

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

- Tags: deep-dive
- Published: 2026-02-25

### [How to Implement Zoom and Pan Functionality for the Excalidraw Canvas](/excalidraw/excalidraw/implement-zoom-pan-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.

- Tags: how-to-guide
- Published: 2026-02-25

### [How Excalidraw Arrow Binding and Labeling Works: A Technical Deep Dive](/excalidraw/excalidraw/excalidraw-arrow-binding-labeling)

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

- Tags: deep-dive
- Published: 2026-02-25

### [How to Add Support for Custom Shapes or Extend Existing Element Types in Excalidraw](/excalidraw/excalidraw/add-custom-shapes-excalidraw)

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

- Tags: how-to-guide
- Published: 2026-02-25

### [How to Customize the Hand-Drawn Style of Elements in Excalidraw](/excalidraw/excalidraw/customize-hand-drawn-style-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.

- Tags: how-to-guide
- Published: 2026-02-25

### [How to Implement Undo and Redo Functionality in the Excalidraw Editor](/excalidraw/excalidraw/implement-undo-redo-excalidraw)

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

- Tags: how-to-guide
- Published: 2026-02-25

### [How to Handle Drawing Changes and State Updates Using the onChange Callback in Excalidraw](/excalidraw/excalidraw/handle-drawing-changes-onchange-callback)

Learn how to use the Excalidraw onChange callback to effectively manage drawing changes and state updates. Persist data and sync systems with ease.

- Tags: how-to-guide
- Published: 2026-02-25

### [How to Programmatically Control the Excalidraw Editor: Add and Modify Elements](/excalidraw/excalidraw/programmatically-control-excalidraw-editor)

Learn to programmatically control the Excalidraw editor by adding and modifying elements. Discover how to use the imperative API to manipulate canvas content effectively.

- Tags: how-to-guide
- Published: 2026-02-25

### [How to Implement Real-Time Collaboration Features in Excalidraw: A Complete Developer Guide](/excalidraw/excalidraw/implement-real-time-collaboration-excalidraw)

Implement real-time collaboration features in Excalidraw. Learn to use the Collab class Portal wrapper and LiveCollaborationTrigger for seamless, conflict-free drawing synchronization.

- Tags: how-to-guide
- Published: 2026-02-25

### [How to Use the ExcalidrawProps API for Event Handlers and Configuration](/excalidraw/excalidraw/excalidraw-props-api-usage)

Master the ExcalidrawProps API for event handlers and configuration. Control Excalidraw programmatically with onChange, onPointerDown, viewModeEnabled, and more.

- Tags: how-to-guide
- Published: 2026-02-25

### [How to Customize the Excalidraw UI: Toolbar, Controls, and Custom Components](/excalidraw/excalidraw/customize-excalidraw-ui-toolbar)

Customize Excalidraw UI with UIOptions. Hide toolbar buttons, disable canvas actions, and add custom components to your Excalidraw instance.

- Tags: how-to-guide
- Published: 2026-02-25

### [How to Integrate the Excalidraw React Component into Your Existing Application](/excalidraw/excalidraw/how-to-integrate-excalidraw-react-component)

Easily integrate the Excalidraw React component into your application. Learn installation, rendering, and configuration steps for a seamless drawing experience.

- Tags: how-to-guide
- Published: 2026-02-25

