You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.3 KiB
75 lines
2.3 KiB
# JSON Schema |
|
|
|
The Excalidraw data format uses plaintext JSON. |
|
|
|
## Excalidraw files |
|
|
|
When saving an Excalidraw scene locally to a file, the JSON file (`.excalidraw`) is using the below format. |
|
|
|
### Attributes |
|
|
|
| Attribute | Description | Value | |
|
| --- | --- | --- | |
|
| `type` | The type of the Excalidraw schema | `"excalidraw"` | |
|
| `version` | The version of the Excalidraw schema | number | |
|
| `source` | The source URL of the Excalidraw application | `"https://excalidraw.com"` | |
|
| `elements` | An array of objects representing excalidraw elements on canvas | Array containing excalidraw element objects | |
|
| `appState` | Additional application state/configuration | Object containing application state properties | |
|
| `files` | Data for excalidraw `image` elements | Object containing image data | |
|
|
|
### JSON Schema example |
|
|
|
```json |
|
{ |
|
// schema information |
|
"type": "excalidraw", |
|
"version": 2, |
|
"source": "https://excalidraw.com", |
|
|
|
// elements on canvas |
|
"elements": [ |
|
// example element |
|
{ |
|
"id": "pologsyG-tAraPgiN9xP9b", |
|
"type": "rectangle", |
|
"x": 928, |
|
"y": 319, |
|
"width": 134, |
|
"height": 90 |
|
/* ...other element properties */ |
|
} |
|
/* other elements */ |
|
], |
|
|
|
// editor state (canvas config, preferences, ...) |
|
"appState": { |
|
"gridSize": 20, |
|
"viewBackgroundColor": "#ffffff" |
|
}, |
|
|
|
// files data for "image" elements, using format `{ [fileId]: fileData }` |
|
"files": { |
|
// example of an image data object |
|
"3cebd7720911620a3938ce77243696149da03861": { |
|
"mimeType": "image/png", |
|
"id": "3cebd7720911620a3938c.77243626149da03861", |
|
"dataURL": "data:image/png;base64,iVBORWOKGgoAAAANSUhEUgA=", |
|
"created": 1690295874454, |
|
"lastRetrieved": 1690295874454 |
|
} |
|
/* ...other image data objects */ |
|
} |
|
} |
|
``` |
|
|
|
## Excalidraw clipboard format |
|
|
|
When copying selected excalidraw elements to clipboard, the JSON schema is similar to `.excalidraw` format, except it differs in attributes. |
|
|
|
### Attributes |
|
|
|
| Attribute | Description | Example Value | |
|
| --- | --- | --- | |
|
| `type` | The type of the Excalidraw document. | "excalidraw/clipboard" | |
|
| `elements` | An array of objects representing excalidraw elements on canvas. | Array containing excalidraw element objects (see example below) | |
|
| `files` | Data for excalidraw `image` elements. | Object containing image data |
|
|
|