# What export gives you

A file another tool opens, and a short list of what it deliberately leaves out.

Most whiteboards have an export button, and most of them hand you a PNG. You can look at a PNG. You can't move a box in it, or read a comment somebody left on it, or open it in the next tool you try. So the picture is a souvenir of the work rather than the work.

What comes out of Kromdraw is the board.

## One board

A board exports as a `.kromdraw` file. That file is an ordinary Excalidraw document. The `elements`, `appState` and `files` keys sit where Excalidraw puts them, and one extra top-level key called `kromdraw` holds what Excalidraw has nowhere to put: the board's title, and the comment threads pinned to it.

Since Excalidraw reads the keys it knows and ignores the one it doesn't, a `.kromdraw` file opens on excalidraw.com as an ordinary drawing. That is the reason the format is shaped this way, and I checked it by loading one there.

The pictures you put on the canvas travel inside the file. So do the stamps, so a board covered in them still reads somewhere else. Each stamp is written at full opacity rather than at whatever its animation had it at when you pressed the button.

A checklist travels too, because it was never anything but ordinary elements: the card, the tick boxes, the bar and the words come out drawn exactly as you left them. What does not travel is the ticking. Another editor draws the list; only this one lets you check something off it.

## A folder, or everything

A folder or a whole account exports as a ZIP. A top-level directory in it is a folder, a `.kromdraw` file at the root is a loose board, and nesting survives to five levels. Your folders come out as folders.

The archive carries a small manifest at its root, which is what lets Kromdraw read its own nesting back on the way in. The exporter stops at 90 MB compressed and 450 MB unpacked, under the 100 MB and 500 MB the importer accepts, because an export this app refuses to import is a broken export.

A background job builds the ZIP, since it has to download every image it names, and you get a page that says when it's ready. The file is deleted from storage seven days later. The record that you made it stays. The copy of your account doesn't sit in a bucket for a month.

## What is deliberately not in the file

Nothing in an exported file identifies an account. No user ids, no email addresses, no share token, no guest tokens, none of the public identifiers the app uses internally. A comment carries the name its author was going by and nothing that leads back to a person.

One of those was a bug rather than a design note. Every stamp on a board carried the database id of whoever placed it, tucked inside the board's own data by a different part of the app months earlier. Since Kromdraw resolves an id against the viewer's own colleagues, a file opened somewhere else would have put a local colleague's photograph beside whatever name the file carried. The exporter strips it now, and the importer strips it again on the way back in.

## Getting it back in

Import takes both formats, on their own or inside a ZIP: `.kromdraw` files and plain `.excalidraw` files, including an account export written by Excalidraw itself. If a folder in the archive has the same name as one you can already write to, you get asked whether to merge before anything is created.

Excalidraw's own "Save to…" is still in the menu and still writes a plain `.excalidraw` file, if that's what you want.
