{"id":13406655,"url":"https://github.com/excalidraw/excalidraw","last_synced_at":"2025-05-12T14:47:35.285Z","repository":{"id":37010426,"uuid":"231283452","full_name":"excalidraw/excalidraw","owner":"excalidraw","description":"Virtual whiteboard for sketching hand-drawn like diagrams","archived":false,"fork":false,"pushed_at":"2025-05-12T14:18:26.000Z","size":92952,"stargazers_count":99460,"open_issues_count":2136,"forks_count":9698,"subscribers_count":454,"default_branch":"master","last_synced_at":"2025-05-12T14:41:59.480Z","etag":null,"topics":["canvas","collaboration","diagrams","drawing","hacktoberfest","productivity","whiteboard"],"latest_commit_sha":null,"homepage":"https://excalidraw.com","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/excalidraw.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"open_collective":"excalidraw"}},"created_at":"2020-01-02T01:04:43.000Z","updated_at":"2025-05-12T14:37:20.000Z","dependencies_parsed_at":"2023-12-18T20:04:02.550Z","dependency_job_id":"3bc037cd-7993-4e75-a220-d0a15e310dfd","html_url":"https://github.com/excalidraw/excalidraw","commit_stats":{"total_commits":3547,"total_committers":322,"mean_commits":11.01552795031056,"dds":0.8297152523259093,"last_synced_commit":"96ed8a433167f23a5ab54a9d4cca45441c8fd911"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/excalidraw%2Fexcalidraw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/excalidraw%2Fexcalidraw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/excalidraw%2Fexcalidraw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/excalidraw%2Fexcalidraw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/excalidraw","download_url":"https://codeload.github.com/excalidraw/excalidraw/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253756827,"owners_count":21959316,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["canvas","collaboration","diagrams","drawing","hacktoberfest","productivity","whiteboard"],"created_at":"2024-07-30T19:02:35.781Z","updated_at":"2025-05-12T14:47:35.265Z","avatar_url":"https://github.com/excalidraw.png","language":"TypeScript","funding_links":["https://opencollective.com/excalidraw","https://opencollective.com/excalidraw/tiers/sponsors/0/website","https://opencollective.com/excalidraw/tiers/sponsors/1/website","https://opencollective.com/excalidraw/tiers/sponsors/2/website","https://opencollective.com/excalidraw/tiers/sponsors/3/website","https://opencollective.com/excalidraw/tiers/sponsors/4/website","https://opencollective.com/excalidraw/tiers/sponsors/5/website","https://opencollective.com/excalidraw/tiers/sponsors/6/website","https://opencollective.com/excalidraw/tiers/sponsors/7/website","https://opencollective.com/excalidraw/tiers/sponsors/8/website","https://opencollective.com/excalidraw/tiers/sponsors/9/website","https://opencollective.com/excalidraw/tiers/sponsors/10/website"],"categories":["TypeScript","More-Awesome","HarmonyOS","Libraries","Apps","UI Components","Figures","Design Tools","Design editor","hacktoberfest","Multimedia","Documentation and Presentation","Notes","By Language","Diagramming and Visualization as Code","应用相关","语言资源库","其他","目录","Applications","productivity","Awesome Tools","canvas","在线设计","Graph App","Other","Tool","Creative","Uncategorized","**Awesome Codebases** [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)","Opensource Projects","Table of Contents","工具篇","Web Frontend","🎨 Design \u0026 Creative","General Tools"],"sub_categories":["Windows Manager","Graph Editing","Diagramming","Canvas","Online tools","Photoshop / Illustrator","Image and pictures","TypeScript","typescript","网络服务_其他","Design Tool (e.g. Figma, Excalidraw)","UX","Observability","Whiteboard Tool","Other","Uncategorized","Animation \u0026 Canvas"],"readme":"\u003ca href=\"https://excalidraw.com/\" target=\"_blank\" rel=\"noopener\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" alt=\"Excalidraw\" srcset=\"https://excalidraw.nyc3.cdn.digitaloceanspaces.com/github/excalidraw_github_cover_2_dark.png\" /\u003e\n    \u003cimg alt=\"Excalidraw\" src=\"https://excalidraw.nyc3.cdn.digitaloceanspaces.com/github/excalidraw_github_cover_2.png\" /\u003e\n  \u003c/picture\u003e\n\u003c/a\u003e\n\n\u003ch4 align=\"center\"\u003e\n  \u003ca href=\"https://excalidraw.com\"\u003eExcalidraw Editor\u003c/a\u003e |\n  \u003ca href=\"https://plus.excalidraw.com/blog\"\u003eBlog\u003c/a\u003e |\n  \u003ca href=\"https://docs.excalidraw.com\"\u003eDocumentation\u003c/a\u003e |\n  \u003ca href=\"https://plus.excalidraw.com\"\u003eExcalidraw+\u003c/a\u003e\n\u003c/h4\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003ch2\u003e\n    An open source virtual hand-drawn style whiteboard. \u003c/br\u003e\n    Collaborative and end-to-end encrypted. \u003c/br\u003e\n  \u003cbr /\u003e\n  \u003c/h2\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/excalidraw/excalidraw/blob/master/LICENSE\"\u003e\n    \u003cimg alt=\"Excalidraw is released under the MIT license.\" src=\"https://img.shields.io/badge/license-MIT-blue.svg\"  /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/@excalidraw/excalidraw\"\u003e\n    \u003cimg alt=\"npm downloads/month\" src=\"https://img.shields.io/npm/dm/@excalidraw/excalidraw\"  /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://docs.excalidraw.com/docs/introduction/contributing\"\u003e\n    \u003cimg alt=\"PRs welcome!\" src=\"https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat\"  /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://discord.gg/UexuTaE\"\u003e\n    \u003cimg alt=\"Chat on Discord\" src=\"https://img.shields.io/discord/723672430744174682?color=738ad6\u0026label=Chat%20on%20Discord\u0026logo=discord\u0026logoColor=ffffff\u0026widge=false\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://twitter.com/excalidraw\"\u003e\n    \u003cimg alt=\"Follow Excalidraw on Twitter\" src=\"https://img.shields.io/twitter/follow/excalidraw.svg?label=follow+@excalidraw\u0026style=social\u0026logo=twitter\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cfigure\u003e\n    \u003ca href=\"https://excalidraw.com\" target=\"_blank\" rel=\"noopener\"\u003e\n      \u003cimg src=\"https://excalidraw.nyc3.cdn.digitaloceanspaces.com/github%2Fproduct_showcase.png\" alt=\"Product showcase\" /\u003e\n    \u003c/a\u003e\n    \u003cfigcaption\u003e\n      \u003cp align=\"center\"\u003e\n        Create beautiful hand-drawn like diagrams, wireframes, or whatever you like.\n      \u003c/p\u003e\n    \u003c/figcaption\u003e\n  \u003c/figure\u003e\n\u003c/div\u003e\n\n## Features\n\nThe Excalidraw editor (npm package) supports:\n\n- 💯\u0026nbsp;Free \u0026 open-source.\n- 🎨\u0026nbsp;Infinite, canvas-based whiteboard.\n- ✍️\u0026nbsp;Hand-drawn like style.\n- 🌓\u0026nbsp;Dark mode.\n- 🏗️\u0026nbsp;Customizable.\n- 📷\u0026nbsp;Image support.\n- 😀\u0026nbsp;Shape libraries support.\n- 👅\u0026nbsp;Localization (i18n) support.\n- 🖼️\u0026nbsp;Export to PNG, SVG \u0026 clipboard.\n- 💾\u0026nbsp;Open format - export drawings as an `.excalidraw` json file.\n- ⚒️\u0026nbsp;Wide range of tools - rectangle, circle, diamond, arrow, line, free-draw, eraser...\n- ➡️\u0026nbsp;Arrow-binding \u0026 labeled arrows.\n- 🔙\u0026nbsp;Undo / Redo.\n- 🔍\u0026nbsp;Zoom and panning support.\n\n## Excalidraw.com\n\nThe app hosted at [excalidraw.com](https://excalidraw.com) is a minimal showcase of what you can build with Excalidraw. Its [source code](https://github.com/excalidraw/excalidraw/tree/master/excalidraw-app) is part of this repository as well, and the app features:\n\n- 📡\u0026nbsp;PWA support (works offline).\n- 🤼\u0026nbsp;Real-time collaboration.\n- 🔒\u0026nbsp;End-to-end encryption.\n- 💾\u0026nbsp;Local-first support (autosaves to the browser).\n- 🔗\u0026nbsp;Shareable links (export to a readonly link you can share with others).\n\nWe'll be adding these features as drop-in plugins for the npm package in the future.\n\n## Quick start\n\n**Note:** following instructions are for installing the Excalidraw [npm package](https://www.npmjs.com/package/@excalidraw/excalidraw) when integrating Excalidraw into your own app. To run the repository locally for development, please refer to our [Development Guide](https://docs.excalidraw.com/docs/introduction/development).\n\nUse `npm` or `yarn` to install the package.\n\n```bash\nnpm install react react-dom @excalidraw/excalidraw\n# or\nyarn add react react-dom @excalidraw/excalidraw\n```\n\nCheck out our [documentation](https://docs.excalidraw.com/docs/@excalidraw/excalidraw/installation) for more details!\n\n## Contributing\n\n- Missing something or found a bug? [Report here](https://github.com/excalidraw/excalidraw/issues).\n- Want to contribute? Check out our [contribution guide](https://docs.excalidraw.com/docs/introduction/contributing) or let us know on [Discord](https://discord.gg/UexuTaE).\n- Want to help with translations? See the [translation guide](https://docs.excalidraw.com/docs/introduction/contributing#translating).\n\n## Integrations\n\n- [VScode extension](https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor)\n- [npm package](https://www.npmjs.com/package/@excalidraw/excalidraw)\n\n## Who's integrating Excalidraw\n\n[Google Cloud](https://googlecloudcheatsheet.withgoogle.com/architecture) • [Meta](https://meta.com/) • [CodeSandbox](https://codesandbox.io/) • [Obsidian Excalidraw](https://github.com/zsviczian/obsidian-excalidraw-plugin) • [Replit](https://replit.com/) • [Slite](https://slite.com/) • [Notion](https://notion.so/) • [HackerRank](https://www.hackerrank.com/) • and many others\n\n## Sponsors \u0026 support\n\nIf you like the project, you can become a sponsor at [Open Collective](https://opencollective.com/excalidraw) or use [Excalidraw+](https://plus.excalidraw.com/).\n\n## Thank you for supporting Excalidraw\n\n[\u003cimg src=\"https://opencollective.com/excalidraw/tiers/sponsors/0/avatar.svg?avatarHeight=120\"/\u003e](https://opencollective.com/excalidraw/tiers/sponsors/0/website) [\u003cimg src=\"https://opencollective.com/excalidraw/tiers/sponsors/1/avatar.svg?avatarHeight=120\"/\u003e](https://opencollective.com/excalidraw/tiers/sponsors/1/website) [\u003cimg src=\"https://opencollective.com/excalidraw/tiers/sponsors/2/avatar.svg?avatarHeight=120\"/\u003e](https://opencollective.com/excalidraw/tiers/sponsors/2/website) [\u003cimg src=\"https://opencollective.com/excalidraw/tiers/sponsors/3/avatar.svg?avatarHeight=120\"/\u003e](https://opencollective.com/excalidraw/tiers/sponsors/3/website) [\u003cimg src=\"https://opencollective.com/excalidraw/tiers/sponsors/4/avatar.svg?avatarHeight=120\"/\u003e](https://opencollective.com/excalidraw/tiers/sponsors/4/website) [\u003cimg src=\"https://opencollective.com/excalidraw/tiers/sponsors/5/avatar.svg?avatarHeight=120\"/\u003e](https://opencollective.com/excalidraw/tiers/sponsors/5/website) [\u003cimg src=\"https://opencollective.com/excalidraw/tiers/sponsors/6/avatar.svg?avatarHeight=120\"/\u003e](https://opencollective.com/excalidraw/tiers/sponsors/6/website) [\u003cimg src=\"https://opencollective.com/excalidraw/tiers/sponsors/7/avatar.svg?avatarHeight=120\"/\u003e](https://opencollective.com/excalidraw/tiers/sponsors/7/website) [\u003cimg src=\"https://opencollective.com/excalidraw/tiers/sponsors/8/avatar.svg?avatarHeight=120\"/\u003e](https://opencollective.com/excalidraw/tiers/sponsors/8/website) [\u003cimg src=\"https://opencollective.com/excalidraw/tiers/sponsors/9/avatar.svg?avatarHeight=120\"/\u003e](https://opencollective.com/excalidraw/tiers/sponsors/9/website) [\u003cimg src=\"https://opencollective.com/excalidraw/tiers/sponsors/10/avatar.svg?avatarHeight=120\"/\u003e](https://opencollective.com/excalidraw/tiers/sponsors/10/website)\n\n\u003ca href=\"https://opencollective.com/excalidraw#category-CONTRIBUTE\" target=\"_blank\"\u003e\u003cimg src=\"https://opencollective.com/excalidraw/tiers/backers.svg?avatarHeight=32\"/\u003e\u003c/a\u003e\n\nLast but not least, we're thankful to these companies for offering their services for free:\n\n[![Vercel](./.github/assets/vercel.svg)](https://vercel.com) [![Sentry](./.github/assets/sentry.svg)](https://sentry.io) [![Crowdin](./.github/assets/crowdin.svg)](https://crowdin.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexcalidraw%2Fexcalidraw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexcalidraw%2Fexcalidraw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexcalidraw%2Fexcalidraw/lists"}