Tableau blanc au trait crayonné, aussi livré en composant React
Excalidraw est un tableau blanc open source, sous licence MIT, qui donne aux formes, aux flèches et au texte l'allure d'un croquis à main levée, sur un canevas infini. Le projet existe sous deux formes : l'application web excalidraw.com, et le paquet npm @excalidraw/excalidraw, un composant React qui place le même canevas dans une autre application. Notion, Replit, CodeSandbox et le plugin Excalidraw d'Obsidian l'intègrent, selon le README.
Format JSON ouvert et import de diagrammes Mermaid
- Un fichier lisible : un dessin s'enregistre en
.excalidraw, du JSON, et s'exporte en PNG, en SVG ou vers le presse-papiers. - Des flèches qui suivent les formes : une flèche accrochée à un élément le suit quand on le déplace et peut porter une étiquette. La version 0.18.0 a ajouté les flèches coudées.
- La conversion depuis Mermaid : l'éditeur transforme une définition Mermaid en éléments dessinés, que l'on retouche ensuite à la main.
- La collaboration chiffrée sur excalidraw.com : l'application ajoute l'édition à plusieurs en direct chiffrée de bout en bout, l'enregistrement automatique dans le navigateur, des liens de partage en lecture seule et le mode hors ligne en PWA.
Le même canevas dans une app, VS Code ou Obsidian
- Ajouter un tableau blanc à une application React existante.
- Ranger les schémas d'une documentation en fichiers
.excalidrawà côté du code, et publier leur export SVG. - Ouvrir ces fichiers dans VS Code avec l'extension que cite le README, ou dans Obsidian avec le plugin Excalidraw.
La collaboration reste sur excalidraw.com, le paquet en 0.18
Une instance auto-hébergée ne propose ni partage ni édition à plusieurs. L'image Docker excalidraw/excalidraw ne contient que le client, et la documentation de développement prévient qu'en l'état, l'auto-hébergement ne prend en charge ni le partage ni la collaboration. Sur excalidraw.com, ces fonctions passent par des services de l'éditeur déclarés dans .env.production : un serveur WebSocket, une API pour les liens partagés et un projet Firebase. Le serveur de collaboration, excalidraw-room, a son propre dépôt, mais une issue ouverte en mai 2021 en réclame toujours la documentation d'installation. L'image ne contient en revanche aucun outil d'analyse ni de pistage, selon la même page.
Le composant npm n'embarque pas la collaboration et impose React. Le README présente excalidraw.com comme une démonstration minimale de ce qu'on peut construire avec Excalidraw : la collaboration et le mode hors ligne appartiennent à cette application, et l'équipe annonce les porter plus tard vers le paquet sous forme de plugins. Le paquet attend React 17, 18 ou 19, et n'est plus livré qu'en ESM depuis la 0.18.0 : la note de version prévient que Create React App ne fonctionne plus sans contournement. Les polices se chargent par défaut depuis un CDN ; pour les servir soi-même, il faut copier le dossier fonts du paquet et renseigner window.EXCALIDRAW_ASSET_PATH.
La dernière version, la 0.18.1 du 21 avril 2026, est un correctif de sécurité. Elle reporte sur la branche 0.18 la parade à une faille XSS de Mermaid (CVE-2025-54881). La dernière version porteuse de nouveautés, la 0.18.0, date du 11 mars 2025, et le paquet n'a pas atteint la 1.0. Entre deux versions, la documentation renvoie à l'étiquette npm @next pour les changements non publiés. Le dernier commit du dépôt date du 23 octobre 2026.
La version gratuite d'excalidraw.com garde une seule scène, dans le navigateur. La page de tarifs d'Excalidraw+, l'offre payante du projet, lui accorde une scène infinie, des collaborateurs illimités et dix requêtes d'IA générative par jour. À 6 dollars par utilisateur et par mois, Excalidraw+ ajoute l'enregistrement dans le cloud, les scènes et dossiers illimités, la gestion d'équipe et l'export des cadres en PDF et en PPTX.
