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.

Create a document with OneCraftThe canvas with the block toolkit, and how position and pagination relate
A website proposal open in the document builder with the block toolkit on the left
The document builder. Every block on the page is editable, and the toolkit on the left is what you can add.

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

  1. Step 1

    Drag blocks into reading order

    Order and rows are what position means. Pages are worked out for you.

  2. Step 2

    Put related blocks on the same row

    Same height, no overlap, and they stay together through pagination.

  3. 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

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 OneCraft

Related pages

More finished work of this kind is on the document examples hub.