Every dynamic variable
What Circut writes for you, at the moment the text goes out.
A circut is not necessarily a fixed piece of text. It can carry today’s date, the time it will be in two hours, whatever you just copied, or simply say where to leave the cursor once the text is written.
The editor’s variable picker shows about thirty chosen examples. They are only examples: a date takes any format, any offset, and both at once. Here is the complete list — the date and time values are computed on your machine, at the second you are reading.
In the editor, type {. What you type next filters this list, by the variable’s name as well as its label, and ↩ inserts the one you chose.
The cursor
Where your cursor lands once the text is in. The only variable that leaves nothing on screen.
-
{cursor}The cursor position after insertion. One per circut: the first one wins, the others are dropped from the text.
The clipboard
Whatever you just copied, inserted as is or transformed on the way. The examples below assume you copied Résumé DRAFT 2027.
-
{clipboard}The text contents of the clipboard, at the moment the circut fires.
Résumé DRAFT 2027
-
{clipboard:upper}All uppercase.
RÉSUMÉ DRAFT 2027
-
{clipboard:lower}All lowercase.
résumé draft 2027
-
{clipboard:capitalize}A capital on every word.
Résumé Draft 2027
-
{clipboard:sentence}Sentence case: a capital at the start, the rest lowered. Enough to fix a stuck caps lock without retyping.
Résumé draft 2027
-
{clipboard:trim}Leading and trailing spaces and line breaks removed.
-
{clipboard:slug}A hyphenated identifier, no accents.
resume-draft-2027
-
{clipboard:snake}An underscored identifier, no accents.
resume_draft_2027
The clipboard can also be the address of a link, in rich text: select the link text, press ⌘K and type {clipboard} in the Address field. Copy an address, fire. That token alone is the address, nothing else — no https://x/{clipboard}, no transform. If what you copied is not an address, the label is written without a link.
Numbers in words
A copied number or amount, spelled out: for a deed, a contract, a promissory note. The examples below assume you copied 1,234.56.
-
{clipboard:words}The number in words.
one thousand two hundred thirty-four point five six
-
{clipboard:euros}The amount in words, euros and cents. Copied with the € sign, “EUR” or the word “euros”, it is read just the same.
one thousand two hundred thirty-four euros and fifty-six cents
-
{clipboard:euros:upper}The amount in capitals, the form contracts use. Transforms chain, and case always applies last, whatever the written order:
{clipboard:upper:euros}gives the same result,{clipboard:trim:upper}trims then capitalizes.ONE THOUSAND TWO HUNDRED THIRTY-FOUR EUROS AND FIFTY-SIX CENTS
Circut never guesses a number: in a contract, the words prevail, and a misreading would be another amount. Whatever cannot be read without ambiguity is left as is, visible. Thousands go by three, the last comma or point marks the decimals (234.692,23 as well as 234,692.23), and a number has fifteen digits at most. Spelling follows your Mac’s region: septante in Belgium, huitante in Switzerland, and in French the amount reads euros et centimes.
The date
The four named styles follow your Mac’s language. The default format never moves: only the month name is translated.
-
{date}Today’s date.
-
{date:short}The system’s short style.
-
{date:medium}The medium style.
-
{date:long}The long style.
-
{date:full}The full style, weekday included.
And if none of the five fits, any pattern at all. The letters are Unicode’s: d day, M month, y year, E weekday. How many you write sets the shape: MM gives 09, MMMM gives September.
-
{date:dd/MM/yyyy} -
{date:yyyy-MM-dd} -
{date:MMMM yyyy} -
{date:EEEE d MMMM}
The time
Same rules. The default format is 24-hour everywhere, English speakers included.
-
{time}The time right now.
-
{time:short}The system’s short style.
-
{time:medium}The medium style, seconds included.
-
{time:HH:mm:ss} -
{time:h:mm a}
Offsets
A date or a time can be moved. The offset goes right after the name, before the format if there is one.
-
{date+3d}In three days.
-
{date-2w}Two weeks ago.
-
{date+1m}Next month.
-
{date+1y}Next year.
-
{time+2h}In two hours.
-
{time+30min}In half an hour.
The units: d day, w week, m month, y year, h hour, min minute. The offset is calendar-based, never a count of seconds: one month after January 31 lands on February 28 or 29, and a daylight saving change shifts nothing.
And it combines with a format.
-
{date+3d:d MMMM} -
{date+1w:full}
Spaces around the offset are tolerated — {date +3d:full} works too. That is the syntax Alfred exports: your snippets arrive without a single edit.
Chance
These only take their value at the moment the text goes out. The editor does not preview them, and neither does this page: the example would be wrong a second later.
-
{random}An integer between 0 and 999,999.
-
{random:1-10}An integer in the range, both bounds included.
-
{uuid}A unique identifier (UUID v4, lowercase).
-
{password}A strong 20-character password.
-
{password:32}A strong password of the length you want.
Braces
To write a brace without calling a variable, double it.
-
{{An opening brace.
{
-
}}A closing brace.
}
And if you write a name Circut does not know — {dat}, {date+3x} — nothing is guessed: the text comes out as is, braces included, and the editor tells you while you are still typing.
What does not exist
By decision, not by oversight: no emulated keys or shortcuts, no delays, no scripts, no form to fill in when a circut fires, no inserting the contents of another circut.
Circut is deterministic and talks to no one: what comes out of a circut is what you put in it. A variable that ran a script, or went looking for something elsewhere, would break the one promise that matters.
Missing something you would genuinely use? Write to us.
This page tracks the engine: everything on it is in the shipped version, and nothing the engine accepts is missing from it.