Help
How the contract editor works
The visible numbering is the reference system. This page explains the five things you need to know to use the tool, and then the edge cases.
Back to the editorIn one minute
The normal workflow has four steps:
- 1 Paste or import your contract into the editor.
- 2 Run Normalize references and confirm which numbers are internal references.
- 3 Edit freely: insert clauses and items wherever you need them.
- 4 Run Renumber. The numbering and every reference are corrected in a single operation.
View contract opens the finished document in a second tab, without editor controls.
The numbering is the reference
There are no tags or hidden identifiers. A destination is named by the number a reader sees:
- 4
- clause
- 4.2
- subclause
- 4.a
- item a of clause 4
- 4.2.b
- item b of subclause 4.2
An item is only referenceable when it hangs from a numbered clause: a bare "b." with no numbered clause above it is not a destination.
References are written in parentheses
In the editable source, a reference maintained by the tool is wrapped in parentheses. That is what separates it from the ordinary numbers a contract is full of β amounts, terms, percentages:
Editable source
As provided in (4.2), the term shall be thirty (30) days.
Here (4.2) is a reference and (30) is a quantity. The tool maintains the first one and never touches the second.
A locator with a dot, such as (4.2) or (1.b), cannot be confused with a quantity. A single number such as (50) is only read as a reference when the surrounding wording identifies it as one β after "clause", "see", "pursuant to" β or when it continues a list of references.
The parentheses are editing syntax, not part of the contract's style. In the rendered view the reference is displayed as its locator and linked to its destination; the renderer never adds words like "clause" on its own.
Normalize references
A contract written outside this tool carries its cross-references as plain prose. Normalize references turns them into maintained references β but it asks you first.
Before
The Provider shall deliver the Services defined in clause 1.a.
After
The Provider shall deliver the Services defined in clause (1.a).
It has to ask. "Governed by 4.a" is a real reference with no lexical marker, and "for 12 months" is not one. No heuristic can tell those apart, so the tool lists every number that resolves to an existing destination and you decide, seeing each candidate highlighted in the editor.
For each candidate you can accept it, reject it, or resolve all the remaining ones at once. Nothing is written until the review finishes, so cancelling leaves the document untouched β there is nothing to undo.
Importing a file offers this review straight away. Pasting text also offers it when what you pasted is structurally a contract: numbered headings, lettered items, reference-like structure.
Insert clauses and items
Write a new clause as a heading with a placeholder instead of guessing its number:
## [*] Confidentiality
Renumber assigns the number and shifts every clause below it.
Inside a lettered list, a placeholder on its own line inserts an item:
a. First item. [*] Inserted item. b. Second item.
Renumber turns the placeholder into "b." and relettering pushes the old "b." to "c.".
Repeat the placeholder to insert several items at once:
[*][*][*]
This inserts three empty items. It cannot carry text: which of the three would the text belong to? That case is reported instead of guessed.
A placeholder that is not inside a lettered list and is not a heading cannot be placed. Renumber reports it by line instead of silently ignoring it.
Renumber
Renumber is the operation the whole tool exists for. In a single transaction it corrects clause numbers, subclause numbers, item letters, placeholders β and every reference that points at them.
Inserting a definition between "a." and "b." moves the destination and its reference together:
Before
## 1. Definitions a. First definition. b. Second definition. See (1.b).
After
## 1. Definitions a. First definition. b. Inserted definition. c. Second definition. See (1.c).
The destination and the reference are rewritten in the same operation, from the same map. They cannot fall out of sync.
When Renumber stops
If the tool cannot build an unambiguous map from old numbering to new numbering, it renumbers nothing and tells you why. The document is left exactly as it was.
- a reference points to a destination that does not exist;
- a reference resolves to more than one destination;
- two clauses would end up with the same number.
Each blocker links to its line in the editor. Fix it and run Renumber again β a partially renumbered contract would be worse than one that was not renumbered at all.
Drafts from the previous model
An earlier version of this tool identified clauses with stable tags and referenced them with double brackets:
## 1. Definitions #definitions See [[definitions]].
That model is no longer used. If your draft still contains it, a Migrate legacy tags button appears: it converts each reference to the current numbering and removes the tags from the source. References with no resolvable destination are reported, never guessed.
Getting the contract out
View contract opens the rendered document in a second tab. It updates by itself while you keep editing, so you can leave it open on a second screen. Every reference in it navigates to its destination, and broken references are visibly marked.
Copy puts the Markdown source on your clipboard. Download saves it as contract.md.
The rendered view prints without the interface, which is also how you produce a PDF from your browser.
Where your contract lives
Nowhere but your browser. There is no upload, no server and no database: the tool is a page that runs entirely on your machine.
Your draft is saved in this browser's local storage so it survives a refresh, and Clear removes it. Undo only covers one step and does not survive a refresh β download a copy before anything irreversible.
There is no document history yet: a saved draft is the only copy the tool keeps.
Sample contract
This document exercises everything above: a reference to an item written in prose, a maintained reference to a subclause, and a quantity that must not be touched.
# Services Agreement ## 1. Definitions a. "Services" means the work described in this agreement. b. "Fees" means the amounts payable for the Services. ## 2. Scope The Provider shall deliver the Services defined in clause 1.a. ## 3. Payment ### 3.1. Due date The Client shall pay the Fees within thirty (30) days of the invoice date. ### 3.2. Late payment Late payment accrues interest on the amount due under (3.1).
Your current draft is not overwritten: you will be asked first.