Documents
Drag and drop document editor
The canvas is a page, not a text box. Blocks are dragged, resized and snapped to a grid, and the pagination is worked out from what is on the page rather than from where you pressed enter.

A grid, not free pixels
Everything snaps to a 20 pixel grid. That is why a document built by dragging still looks aligned: you cannot leave a block three pixels out, because there is no three pixels. It also means two blocks placed at the same height genuinely line up rather than nearly lining up.
Order and grouping, not pagination
Position encodes three things: the order blocks are read in, which blocks share a row, and any whitespace you deliberately left. It does not encode pages. Where a page ends is worked out from the heights when the document is laid out, which is why adding a paragraph on page one reflows everything after it correctly instead of leaving a hole.
Side by side is a row
Two blocks at the same height with no overlap are a row, and they stay a row through pagination: if the row has to split across a page, the parts stay in step rather than one half jumping ahead. That is what makes two column sections survive editing.
Prettify when it drifts
After a lot of hand editing the vertical spacing wanders. Prettify re-applies the spacing rules for each block type in one action, so a document that has been edited for an hour goes back to a consistent rhythm without you measuring anything.
How it works, in three steps
Step 1
Drag blocks into reading order
Order and rows are what position means. Pages are worked out for you.
Step 2
Put related blocks on the same row
Same height, no overlap, and they stay together through pagination.
Step 3
Run Prettify at the end
It re-applies the spacing rules and removes the drift from hand editing.
The full walkthrough with screenshots is in the guide Lay out a document exactly how you want it.
Limits worth knowing
- Positions snap to a 20 pixel grid.
- You cannot place a block on a specific page by dragging; use a page break block.
- The canvas is A4 sized, so a block cannot be wider than the page.
See it on a finished piece
Questions people ask
Can I put a block exactly where I want on a page?
You control the order, the rows and the spacing. Which page something lands on comes from the layout, and a page break block is how you force it.
Why did my layout shift after I added a paragraph?
Because pagination is re-derived rather than fixed, so everything after your edit reflows. That is what stops holes appearing in the middle of a document.
How do I make two blocks sit side by side?
Put them at the same height without overlapping. They are then a row, and they stay together through pagination.
Make your own document
The button opens the generator with this use case already described. Change the wording to match yours, generate, then edit anything you like.
Create a document with OneCraftRelated pages
Tidy a document layout
Hand editing drifts. Each block is placed relative to the one above it, small errors are inherited, and after twenty edits the top of the document is on a rhythm and the bottom is not.
Undo changes in a document
Two things stop you losing work: an undo stack fifty steps deep, and a header that always tells you whether what is on screen has been saved. Both are worth understanding before you need them.
Control page breaks in a document
Most page break problems fix themselves, because the engine already refuses to strand a heading or split something that would fit a page whole. The rest are fixed with one block, deliberately placed.
More finished work of this kind is on the document examples hub.


