This extension integrates Excalidraw into VS Code.
To use it, create an empty file with a .excalidraw, .excalidraw.json, .excalidraw.svg or .excalidraw.png extension and open it in Visual Studio Code.
Try the web version at : https://excalidraw.com/
The source of the drawing can be embedded directly in a PNG or SVG image. Just create a new .excalidraw.png or .excalidraw.svg file.
You can also switch between text and image format by updating the file extension (ex: rename a .excalidraw file to .excalidraw.png).
You can control the default export options using the excalidraw.image setting:
{
"excalidraw.image": {
"exportScale": 1,
"exportWithBackground": true,
"exportWithDarkMode": false
}
}You can install this extension in github.dev or vscode.dev.
Editing an Excalidraw schema stored in a GitHub repository has never been easier !
The extension support three theme options:
- light (default)
- dark
- auto (sync with VS Code Theme)
Check out the available libraries at libraries.excalidraw.com, and don't hesitate to contribute your own !
You can switch between the Excalidraw editor and the source (text or image) using the editor toolbar.
By default, this extension only handles *.excalidraw, *.excalidraw.svg and *.excalidraw.png files.
Add this to your VS Code settings.json file if you want to associate it with additional file extensions (ex: SVG):
{
"workbench.editorAssociations": {
"*.svg": "editor.excalidraw"
}
}You won't be able to edit arbitrary SVG files though - only those that have been created with Excalidraw or this extension!
If you want to use a workspace specific library (and share it with other contributors), set the excalidraw.workspaceLibraryPath in your Visual Studio Code workspace settings file (.vscode/settings.json):
{
"excalidraw.workspaceLibraryPath": "path/to/library.excalidrawlib"
}The workspaceLibraryPath path is relative to your workspace root. Absolute path are also supported, but it will be specific to your device.
By default, the extension will use the Visual Studio Code Display Language to determine the language to use. You can overwrite it using the excalidraw.language setting:
{
"excalidraw.language": "fr-FR"
}Only bug reports / feature requests specifics to the VS Code integration should go to the extension repository. If it is not the case, please report your issue directly to the Excalidraw project.
Thank you for considering contributing to the extension 💖 !
This extension only goal is to integrate Excalidraw to the Visual Studio Code ecosystem. Users should be able to use both the website and the extension with a minimal amount of friction. As such, we will not accept any contribution that significantly modify the user experience compared to the Excalidraw website.
There are exceptions to this rule (for example, the switch theme icon was deported to Visual Studio Code editor toolbar to allow a better integration). In case of uncertainty, create a thread in the project Discussion Page.




