Click to select · Shift+click to multi-select · ⌘A select all · ⌘Z undo · ⌘⇧Z redo · drag to move · blue corner to resize · ←↑↓→ nudge (shift = 10px) · Backspace deletes · ⌘D duplicates.
Inspector
Pick a tool from the left to add a block, or click any block on the canvas to edit it.
{{student_name}}Recipient name{{course_name}}Course name{{completion_date}}Completion date{{instructor_name}}Instructor name{{organisation_name}}Organisation{{certificate_id}}Certificate ID{{grade}}Grade (optional)
Wrap any variable above in {{ }} inside any text/signature block — it'll be replaced with the recipient's real value when the cert is issued.
Shortcuts
↑ ↓ ← → · nudge 1px (Shift = 10px)
Shift+click · add to selection
⌘A · select all · Esc · deselect
⌘Z · undo · ⌘⇧Z / ⌘Y · redo
Backspace · remove · ⌘D · duplicate
Variables auto-fill at issue time
Drop {{student_name}} or {{course_name}} into any text or signature block — we'll replace them per recipient.
Every certificate is verifiable
The QR block links to a live verify URL. Anyone scanning it sees who earned it and when.
Saved locally as you build
Your work is in your browser. Come back later — it'll still be here until you sign up and move it in.