Phrase structure and constituency trees
Draft phrase-structure, constituency, and X-bar trees from nested brackets while keeping labels and branching structure easy to revise.
Latest update
Version 0.2.2 · Updated 2026-07-17
| Syntax | Example | Effect |
|---|---|---|
[XP child child] |
[TP John [T' T VP]] |
Basic bracketed node. The first item is the node label; following items are children. |
(...) |
(TP John (VP ...)) |
Parentheses can also express tree structure and work like square brackets. |
A|B|C |
T0|\[+PST\]|\[+3SG\] |
Multi-line node label. Literal square brackets must be entered as \[ and \]. |
_i, _j, _k |
John_i |
Visible italic subscript. Matching indices create movement links. |
_z1, _z2 |
thought_z1 ... is_z2+phi |
Hidden movement indices. z1, z2, etc. are not shown, but each creates its own movement links. |
t_i / trace_i |
t_i |
Trace labels for movement. |
=word= |
=read=_k |
Strikethrough. The older -word- form is still accepted. |
*word* |
*where*_i |
Italic text. |
=*word*= |
=*read*=_k |
Italic text with strikethrough. |
@word@ |
@he will go *where*@_i |
Outline text. Can be combined with italic text inside. |
"text with spaces" |
"(head)" / "New York" |
Double quotes keep spaces, parentheses, or square brackets together as one literal label. |
v0 / X0 |
v0|read_k, C0 |
Superscript 0. v0 displays italic v plus superscript 0. |
X1, X2 |
DP1 |
Trailing non-zero digits become subscripts. |
alpha, beta, gamma, phi |
alpha_i, phi+thought_z1 |
Greek letters. Also supports theta, lambda, omega, etc. |
[^TP words] |
[^TP @he will go *where*@_i] |
Triangle / roof node. Text is centered under the triangle by default. |
@empty |
[TP @empty T'] |
Creates an empty terminal: keeps the branch, but shows no text. |
[] / [_i] / [_z2] |
[TP [] [_i] [_z2]] |
Creates empty nodes; visible or hidden indexed positions can receive a movement link. |
@silent |
[C @silent] / [C|@silent] |
Hides the empty label completely and draws no branch to it. |
Click label |
- |
Labels can be moved as a whole. |
Click line / branch / triangle / movement link |
- |
Adjust it by hand. Selecting a branch reveals Hide branch; restore it later from the controls. |
Extra drawing tools |
- |
Add free annotations and three-point arc curves. Double-click notes to edit text. |
MerlinSyntaxStudio
Create phrase-structure trees, movement links, transparent PNGs, SVGs, and Forest LaTeX in one quiet workspace.
Registered users can keep the most recent 20 syntax trees.
Built for linguistics
Turn bracket notation into a clear syntactic tree diagram in your browser. The editor is designed for linguistics students, instructors, and researchers, with no account required for creating or exporting a tree.
Draft phrase-structure, constituency, and X-bar trees from nested brackets while keeping labels and branching structure easy to revise.
Draw overt or covert movement links, use visible or hidden indices, add traces and empty positions, and hide individual branches when the analysis requires it.
Download a transparent or white-background image, keep the structure editable in Forest LaTeX, or preserve manual geometry with visual TikZ.
If this tool helps you, you can buy me a double-shot Americano.