neat-annotations
Neat hand-drawn annotations for your page: arrows and handwritten labels.Pure CSS, no JavaScript, one small file.
Scroll down for more infoIn the wild
Wrap any inline element — the arrow and the note are drawn around it.
docs/specs/cli.md
- [ ] CLI-042 Add export command #cli !high @blocked_by:CLI-041
Write task output as JSON for scripts and agents
Example from mdtask.dev.
Installation
1. Get the CSS
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/syabro/neat-annotations/neat-annotations.css">
Or download neat-annotations.css and link it locally.
2. Optional: handwritten font
<link href="https://fonts.googleapis.com/css2?family=Shantell+Sans:wght@400;500;600&display=swap" rel="stylesheet">
Skip this and labels fall back to cursive.
Directions
target
target
target
target
Follow compass directions for arrows.
target
target
target
target
<span
class="ann ann-n"
data-note=".ann-n"
>
target
</span>
Colors
Five colors and an animated rainbow, plus a warm-gray default.
plain
amber
blue
green
red
purple
rainbow
<span
class="ann ann-n ann-red"
data-note="ann-red"
>
red
</span>
Custom colors
Set any CSS color directly with --ann-color.
black
hot pink
cyan
<span
class="ann ann-n"
data-note="..."
style="--ann-color: #00c2d7"
>
cyan
</span>
Target highlight
Default
stable
No mark
stable
<span
class="ann ann-n ann-red ann-no-mark"
data-note="keeps its own fill"
>
<span class="badge">stable</span>
</span>
Highlight only
Use it as a text marker: omit data-note to hide the arrow and label.
Ship when the migration guide is ready.
<p>
Ship when the
<span class="ann ann-amber">
migration guide
</span>
is ready.
</p>
Stack annotations
Nest two annotations to point at one target from different sides.
login flow
<span
class="ann ann-w ann-blue ann-no-mark"
data-note="assigned to Alice"
>
<span class="ann ann-e ann-red" data-note="P2 bug">login flow</span>
</span>
Long notes
Notes wrap naturally; set --ann-label-max-width to choose the line length.
The release candidate is ready for review.
<span
class="ann ann-n ann-blue"
data-note="Confirm the release notes, migration guide, and rollback steps before publishing."
style="--ann-label-max-width: 220px"
>
...
</span>