Advanced Usage Guide

Master every Makro feature - from basic text expansion to Smart Rewrite, cloud sync, and 25+ dynamic placeholders. Everything a new user needs to become a power user.

Add to Chrome - Free

Getting Started

How text expansion works in Makro - type a short trigger, get full text instantly.

Live Demo Text field
/sig Best regards,
Jane Smith
Product Manager - TechHQ

How It Works

1
Create a macro - open the Makro popup and click "+ New Macro"
2
Set a hotword - a short trigger like /sig, brb, or !!addr
3
Write the expansion - the full text you want inserted (supports placeholders)
4
Type the hotword - anywhere in any text field, your hotword auto-expands
Pro tip: Hotwords are case-insensitive. /sig, /SIG, and /Sig all trigger the same macro.

Date & Time Placeholders Free

Insert dynamic dates, times, and calculated dates into your macros.

Live Demo
Report for [$DATE:MMMM DD, YYYY] Report for March 16, 2026

Basic Date & Time

PlaceholderDescriptionExampleOutput
[$DATE] Today's date (ISO format) [$DATE] 2026-03-16
[$TIME] Current time (24h) [$TIME] 14:30
[$DATETIME] Full ISO 8601 timestamp [$DATETIME] 2026-03-16T14:30:00

Custom Date Formats

Use [$DATE:FORMAT] with these format codes:

CodeOutputExample
YYYY4-digit year2026
MM2-digit month03
DD2-digit day16
MMMMFull month nameMarch
ddddFull day nameMonday
HHHours (24h)14
mmMinutes30

Date Math

Add or subtract time from today using units: d (days), w (weeks), m (months), y (years).

PlaceholderDescriptionExampleOutput
[$DATE+7d] 7 days from today [$DATE+7d] 2026-03-23
[$DATE-30d] 30 days ago [$DATE-30d] 2026-02-14
[$DATE+3w] 3 weeks from today [$DATE+3w] 2026-04-06
[$DATE+1m:MMMM DD] 1 month from now, formatted [$DATE+1m:MMMM DD] April 16
[$DATE-1y] 1 year ago [$DATE-1y] 2025-03-16
Pro tip: Combine date math with formatting: [$DATE+2w:dddd, MMMM DD] outputs something like "Monday, March 30".

Clipboard & Selection Free

Insert clipboard contents or currently selected text into your macros.

PlaceholderDescriptionExample Use
[$CLIPBOARD] Current clipboard contents Link: [$CLIPBOARD]
[$SELECTION] Currently selected text "[$SELECTION]"

Clipboard Math

Modify clipboard contents with arithmetic operations:

PlaceholderDescription
[$CLIPBOARD[-30%]]Remove last 30% of clipboard text
[$CLIPBOARD[+10]]Append 10 characters

Example: URL Wrapper

Create a macro with hotword /link:

Macro body Check out this link: <a href="[$CLIPBOARD]">[$CLIPBOARD]</a>

Copy a URL, type /link, and the URL is wrapped in an HTML anchor tag.

Interactive Prompts Free

Ask for user input when a macro expands - perfect for templates with variable fields.

PlaceholderDescriptionExample
[$PROMPT:Label] Text input with label Dear [$PROMPT:Name],
[$PROMPT:Label:default] Text input with default value [$PROMPT:City:New York]

Example: Meeting Follow-up Template

Macro body (/followup) Hi [$PROMPT:Name],

Thanks for meeting on [$DATE:dddd]. Here are the action items:

1. [$PROMPT:Action Item 1]
2. [$PROMPT:Action Item 2]

Let me know if I missed anything.

Best,
[$PROMPT:Your Name:Jane]

When you type /followup, Makro asks for each prompt value before expanding.

Pro tip: The last parameter is the default value. [$PROMPT:Your Name:Jane] pre-fills "Jane" but lets you change it.

Text Transforms Free

Transform text case, trim whitespace, find and replace, and more - all inside your macros.

PlaceholderDescriptionExampleOutput
[$UPPER:text] Convert to UPPERCASE [$UPPER:hello world] HELLO WORLD
[$LOWER:text] Convert to lowercase [$LOWER:Hello World] hello world
[$TITLE:text] Convert to Title Case [$TITLE:hello world] Hello World
[$TRIM:text] Remove leading/trailing whitespace [$TRIM: hello ] hello
[$LENGTH:text] Character count [$LENGTH:hello] 5
[$REVERSE:text] Reverse characters [$REVERSE:hello] olleh
[$SUBSTR:0:5:text] Extract substring (0-indexed) [$SUBSTR:0:5:Hello World] Hello
[$REPEAT:3:text] Repeat N times [$REPEAT:3:ha] hahaha
[$URLENCODE:text] URL-encode text [$URLENCODE:hello world] hello%20world

Find & Replace

PlaceholderDescriptionExampleOutput
[$REPLACE:find:new:text] Replace first match [$REPLACE:world:earth:hello world] hello earth
[$REGEX:pattern:new:text] Regex find/replace [$REGEX:\\d+:X:abc123] abcX

Example: Auto-Generate a Search URL

Macro body (/google) https://google.com/search?q=[$URLENCODE:[$SELECTION]]

Select "best text expander" then type /google https://google.com/search?q=best%20text%20expander

Example: Clean and Format User Input

Macro body (/format-name) [$TITLE:[$TRIM:[$PROMPT:Enter full name]]]

User enters " jane smith " Jane Smith

Example: Extract Initials from Clipboard

Macro body (/initials) [$UPPER:[$SUBSTR:0:1:[$CLIPBOARD]]]

Clipboard contains "marketing" - type /initials M

Nesting Transforms

Combine transforms by nesting them. Inner placeholders resolve first, then outer ones process the result:

Example: Trim then uppercase [$UPPER:[$TRIM: hello ]] Result: HELLO
Example: Replace then title-case [$TITLE:[$REPLACE:-: :some-kebab-case]] Result: Some Kebab Case
Pro tip: Nesting reads inside-out. [$UPPER:[$TRIM:text]] first trims whitespace, then converts to uppercase.

Math & Logic Free

Evaluate math expressions and use conditional logic in your macros.

Math Expressions

PlaceholderDescriptionExampleOutput
[$CALC:2+2] Addition [$CALC:2+2] 4
[$CALC:100*0.15] Multiplication [$CALC:100*0.15] 15
[$CALC:(50+25)/3] Grouping with parentheses [$CALC:(50+25)/3] 25

Example: Tip Calculator

Macro body (/tip) Bill: $[$PROMPT:Bill amount]
15% tip: $[$CALC:[$PROMPT:Bill amount]*0.15]
20% tip: $[$CALC:[$PROMPT:Bill amount]*0.20]
Total (20%): $[$CALC:[$PROMPT:Bill amount]*1.20]

Example: Discount Calculator

Macro body (/discount) Original price: $[$PROMPT:Price]
20% discount: -$[$CALC:[$PROMPT:Price]*0.20]
You pay: $[$CALC:[$PROMPT:Price]*0.80]


Enter "49.99" when prompted Original price: $49.99
20% discount: -$9.998
You pay: $39.992

Conditional Logic

Use [$IF] / [$ELSE] / [$ENDIF] to include or exclude text based on conditions:

Example: Platform-Aware Response

Macro body (/thanks) [$IF:site=github.com]
  Thanks for the pull request! I'll review this shortly.
[$ELSE]
  Thanks for reaching out! I'll get back to you soon.
[$ENDIF]

[$MACRO:/sig]

Example: Conditional Signature

Macro body (/sig-smart) Jane Smith
Product Manager
[$IF:site=company.com]Phone: (555) 123-4567
[$ENDIF]jane@company.com


On company.com Jane Smith
Product Manager
Phone: (555) 123-4567
jane@company.com


On any other site Jane Smith
Product Manager
jane@company.com
Pro tip: Conditional blocks can be nested. Use [$IF] to show phone numbers only on internal sites, include disclaimers only on client-facing domains, or change your greeting based on the platform.

Cursor & Tab Stops Free

Control where the cursor lands after expansion and create multi-field templates.

PlaceholderDescriptionExample
[$CURSOR] Place cursor here after expansion Hello [$CURSOR], welcome!
[$0] - [$9] Tab stops - cursor jumps in order To: [$1] Subject: [$2]
[$1:default] Tab stop with pre-filled default [$1:John Doe]
[$FILLFORM] Trigger form-fill mode [$FILLFORM]Name: [$1]

Example: Email Template with Tab Stops

Macro body (/email) To: [$1:recipient@example.com]
Subject: [$2:Follow-up]

Hi [$3:there],

[$CURSOR]

Best regards,
[$4:Your Name]

After expansion, press Tab to jump between fields [$1] through [$4]. The cursor rests at [$CURSOR] for your message body.

Advanced Placeholders Free

Nested macros, counters, delays, random values, and more.

PlaceholderDescriptionExample
[$MACRO:/sig] Insert another macro's expansion [$MACRO:/sig]
[$COUNT] Auto-incrementing counter (resets daily) Invoice #[$COUNT]
[$COUNT:invoices] Named counter INV-[$COUNT:invoices]
[$RANDOM:a,b,c] Random value from list [$RANDOM:Hi,Hey,Hello]
[$WAIT:1000] Pause for N milliseconds (max 10,000) [$WAIT:500]
[$IMAGE:url] Insert image from URL [$IMAGE:https://...]

[$RANDOM] - Randomized Text

Pick a random value from a comma-separated list each time the macro expands. Great for keeping repetitive messages fresh.

Live Demo [$RANDOM:Hi there!,Hey!,Hello!,Good to hear from you!]
Hi there! Hey! Hello! Good to hear from you!

Example: Support Greeting Randomizer

Macro body (/hi) [$RANDOM:Hi there!,Hey!,Hello!,Good to hear from you!] How can I help you today?

First expansion Hey! How can I help you today?
Second expansion Good to hear from you! How can I help you today?

Example: Random Sign-Off

Macro body (/bye) [$RANDOM:Best regards,Cheers,Talk soon,All the best],
Jane
Pro tip: [$RANDOM] picks a new value every time the macro expands. Use it for greetings, sign-offs, motivational quotes, or A/B testing email subject lines.

[$COUNT] - Auto-Incrementing Counters

Generate sequential numbers that auto-increment each time you use the macro. Named counters maintain separate sequences.

Example: Invoice Numbering

Macro body (/invoice) INVOICE
Number: INV-[$DATE:YYYYMMDD]-[$COUNT:invoices]
Date: [$DATE:MMMM DD, YYYY]
Bill to: [$PROMPT:Client Name]
Amount: $[$PROMPT:Amount]


Result INVOICE
Number: INV-20260316-001
Date: March 16, 2026
Bill to: Acme Corp
Amount: $1,500

Example: Support Ticket IDs

Macro body (/ticket) Ticket ID: SUPPORT-[$COUNT:support]-[$DATE:MMDD]
Priority: [$PROMPT:Priority:Normal]
Issue: [$PROMPT:Description]


Result Ticket ID: SUPPORT-042-0316
Priority: High
Issue: Login page returns 500 error
Pro tip: The default [$COUNT] resets daily. Named counters like [$COUNT:invoices] maintain their own independent sequence. Use different names for invoices, tickets, reports, etc.

[$MACRO] - Nested Macros

Reference other macros inside a macro body. Build reusable building blocks and compose complex templates.

Example: Composable Email

Macro /greeting [$RANDOM:Hi,Hey,Hello] [$PROMPT:Name],

Macro /sig Best regards,
Jane Smith | Product Manager
jane@company.com


Macro /reply (uses both) [$MACRO:/greeting]

[$CURSOR]

[$MACRO:/sig]


Result of typing /reply Hey Sarah,

[cursor lands here]

Best regards,
Jane Smith | Product Manager
jane@company.com

Example: Multi-Block Legal Email

Macro /legal-reply [$MACRO:/greeting]

[$CURSOR]

[$MACRO:/disclaimer]
[$MACRO:/sig]

Chain as many [$MACRO] references as you need. Each one expands its own placeholders too.

[$WAIT] - Timed Delays

Insert a pause during expansion. Useful when filling forms that need time to process between fields.

Example: Sequential Form Fill

Macro body (/fill-contact) [$FILLFORM][$1:Jane Smith][$WAIT:300][$2:jane@company.com][$WAIT:300][$3:(555) 123-4567]

The [$WAIT:300] gives the page 300ms to process each field before moving to the next. Increase the delay for slower pages.

Pro tip: [$WAIT] accepts values from 1 to 10,000 milliseconds. Use 200-500ms for form fills. Use longer delays when a page needs to load between steps.

Power Combo: Complete Daily Report

See how multiple advanced placeholders work together in a single macro:

Macro body (/standup) Daily Standup #[$COUNT] - [$DATE:dddd, MMMM DD, YYYY]

[$RANDOM:Good morning team!,Hey everyone!,Hi all!]

Yesterday:
- [$PROMPT:What did you do yesterday?]

Today:
- [$PROMPT:What will you do today?]

[$IF:blockers=yes]Blockers:
- [$PROMPT:What is blocking you?]
[$ENDIF]
[$MACRO:/sig]


Result Daily Standup #12 - Monday, March 16, 2026

Hey everyone!

Yesterday:
- Finished the API integration tests

Today:
- Deploy to staging, start on the dashboard UI

Jane Smith | Product Manager
jane@company.com

Power Combo: Smart Customer Reply

Macro body (/smart-reply) [$RANDOM:Hi,Hey,Hello] [$PROMPT:Customer Name],

Thanks for [$IF:site=github.com]your issue report[$ELSE]reaching out[$ENDIF]. [$CURSOR]

Reference: [$COUNT:replies]-[$DATE:MMDD]
[$MACRO:/sig]


Result (on GitHub) Hello Alex,

Thanks for your issue report. [cursor]

Reference: 087-0316
Best regards,
Jane Smith | Product Manager
jane@company.com
Pro tip: Power combos show the real strength of Makro. Start simple, then layer in [$RANDOM], [$IF], [$COUNT], and [$MACRO] as your workflows get more sophisticated.

Smart Rewrite Free Pro

Rewrite selected text with AI - make it formal, casual, shorter, or fix grammar. Works locally or via the cloud.

Live Demo
Original hey can u send me the report asap? need it for the meeting thx
Rewritten (Formal) Hi, could you please send me the report at your earliest convenience? I need it for the upcoming meeting. Thank you.

AI Providers

Ollama / LM Studio (Local) Free

Runs entirely on your machine. Free, private, no data leaves your device. Requires Ollama or LM Studio installed locally.

Makro Smart Rewrite Pro

Cloud-powered AI using Llama 3.3 70B via Cloudflare Workers AI. Fast, high-quality rewrites with your Pro license.

Rewrite Actions

ActionWhat It Does
Make formalProfessional tone for business communication
Make casualFriendly, conversational tone
Make empatheticWarm, understanding tone
Make assertiveConfident, direct tone
Fix grammarCorrect grammar, spelling, and punctuation
SimplifyUse simpler words and shorter sentences
ShortenMake the text more concise
ExpandAdd detail and context
Convert to bulletsTurn prose into a bulleted list
Make step-by-stepConvert into numbered steps
Custom instructionWrite your own rewrite prompt

How to Use

1
Select text in any text field
2
Right-click and choose Makro - Rewrite from the context menu
3
Pick an action (formal, casual, shorten, etc.)
4
The selected text is replaced with the rewritten version
Pro tip: You can also rewrite from the Makro popup. Select text in a macro body and click the Smart Rewrite button. Full AI guide.

Smart Actions Free

Give a macro a keyboard shortcut that works even when you are not in a text field. A macro body is content by default - to open a web link you say so with [$OPENURL].

How It Works

1
Assign a shortcut to a macro in its editor (Smart Actions are off until you set one)
2
Press the shortcut anywhere - it fires even when no text field is focused
3
Inside a text field, the resolved body is inserted as usual. Outside a text field, the resolved body is copied to your clipboard so you can paste or send it.

Because a macro body is content by default, a plain web link is text you can send - it is not opened. When you want a shortcut to open a link in a new tab, add the [$OPENURL:target] placeholder.

PlaceholderDescriptionExample
[$OPENURL:target] Open target in a new tab (http/https only). Inserts nothing. Other schemes are refused. [$OPENURL:https://status.example.com]
[$SELECTION_OR_CLIPBOARD] The highlighted selection if there is one, otherwise the clipboard contents https://ipinfo.io/[$SELECTION_OR_CLIPBOARD]

Example: Support Link You Can Send

A macro body that is content. Trigger the shortcut while no text field is focused and the link is copied to your clipboard, ready to paste into a chat or ticket. Trigger it inside a reply box and the link is inserted in place.

Macro body (shortcut: Ctrl+Shift+1) https://support.makroexpander.com

Fire the shortcut with no text field focused Copied: https://support.makroexpander.com

Example: Open an IP Lookup for the Selected Text

Highlight an IP address (or copy one), fire the shortcut, and Makro opens the lookup in a new tab. [$SELECTION_OR_CLIPBOARD] uses your selection when there is one and falls back to the clipboard. [$OPENURL] resolves last, so the address is already filled in before the tab opens, and nothing is inserted into the page.

Macro body (shortcut: Ctrl+Shift+2) [$OPENURL:https://ipinfo.io/[$SELECTION_OR_CLIPBOARD]]

With "8.8.8.8" highlighted, fire the shortcut Opens https://ipinfo.io/8.8.8.8 in a new tab (nothing inserted)
Pro tip: [$OPENURL] opens http and https links only - other schemes are refused for safety. Use bare [$SELECTION] instead of [$SELECTION_OR_CLIPBOARD] when you want the shortcut to do nothing if nothing is highlighted.

Context Menu & Shortcuts Free

Quick access to your macros via right-click menu and keyboard shortcuts.

Context Menu

Right-click in any text field to see your macros organized by category. The menu shows:

Top 10 Most-Used

Your most frequently expanded macros appear at the top for quick access.

Last 5 Recent

Recently used macros are grouped separately so you can re-use them fast.

Keyboard Shortcuts

ShortcutAction
Ctrl+Shift+SpaceOpen search overlay
Ctrl+Shift+AQuick add a new macro
Ctrl+Shift+LRepeat last expanded macro
Alt+Shift+VOpen clipboard history
Pro tip: All shortcuts are customizable in Settings. Change them to avoid conflicts with other extensions.

Categories & Organization Free

Organize macros into a nested category hierarchy up to 3 levels deep.

Category Hierarchy

Categories support up to 3 levels of nesting:

Work
  Email Templates
    Customer Support
    Sales Outreach
  Code Snippets
Personal
  Signatures

Category Operations

ActionHow
CreateClick the folder icon in the macro list header
RenameRight-click a category - Rename
MoveRight-click a category - Move to...
DeleteRight-click a category - Delete (removes all macros inside)
Add subcategoryRight-click a category - New subcategory
Pro tip: Every macro must belong to a category. The default category is "Top Level". You can have up to 5,000 total categories.

Cloud Sync Pro

Sync your macros across all your devices with zero-knowledge encryption.

How Sync Works

1
Enter your license key in Settings - this derives your encryption key
2
Push to cloud - macros are encrypted on your device, then uploaded
3
Pull on another device - encrypted blob is downloaded and decrypted locally

Zero-Knowledge Encryption

Your macros are encrypted with AES-256-GCM before leaving your device. The server stores only encrypted blobs and never has access to your plaintext data. Even if the server were compromised, your macros remain private.

Sync Operations

OperationDescription
Push to CloudUpload your local macros (encrypted) to the server
Pull from CloudDownload and decrypt cloud macros to this device
Force Replace from CloudOverwrite local macros with cloud version
Force Replace to CloudOverwrite cloud with local macros (rate-limited)

Device Management

View all synced devices, set custom device names, and deactivate devices you no longer use - all from the Settings panel.

Pro tip: Makro creates automatic backups before every sync pull and force replace, so your data is always recoverable.

Backup & Restore Free

Protect your macros with automatic and manual backups.

Auto-Backup

Enable automatic backups in Settings. Choose a schedule:

Daily

Backs up once every 24 hours.

Weekly

Backs up once every 7 days.

Monthly

Backs up once every 30 days.

Password-Protected

Optionally encrypt backups with a password for extra security.

Automatic Safety Backups

Makro automatically creates internal backups before these operations:

TriggerWhen
Extension updateBefore Makro updates to a new version
Sync pullBefore downloading macros from the cloud
ImportBefore importing macros from a file
Force replaceBefore overwriting local or cloud data

Manual Backup & Restore

Use the Export button in the Makro popup to create a JSON backup file. Import it on any device to restore your macros.

Pro tip: Internal backups are stored in the extension's local storage. Use manual export for off-device backups you can store in cloud drives or email to yourself.

Clipboard History Free

Automatically capture and search your clipboard history with smart filtering for sensitive data.

How It Works

When enabled, Makro captures clipboard contents as you copy text. All entries are encrypted with AES-256-GCM and stored locally.

Smart Filtering

Makro automatically detects and excludes sensitive data from clipboard history:

Credit Card Numbers

Patterns matching card numbers are auto-excluded.

Social Security Numbers

SSN patterns (XXX-XX-XXXX) are detected and blocked.

API Keys & Passwords

Common API key and password patterns are filtered.

Private Keys

PEM and RSA private key formats are excluded.

Using Clipboard History

Press Alt+Shift+V to open clipboard history. Search through past entries and click to insert.

Settings

SettingDescriptionDefault
Max history itemsNumber of clipboard entries to keep50
Auto-clearClear sensitive data after N secondsOff
Show sourceDisplay where each clip was copied fromOff
Custom filtersAdd your own regex patterns to excludeNone
Pro tip: Add custom filter patterns in Settings for organization-specific sensitive data like internal IDs or account numbers.

Import & Export Free

Import macros from 9+ text expander tools or export your Makro library as JSON.

Supported Import Formats

Makro JSON TextExpander Text Blaze Espanso AutoHotkey Alfred Beetext PhraseExpress CSV

How to Import

1
Open the Makro popup and click Import
2
Drag and drop your export file, or click to browse
3
Makro auto-detects the format and converts placeholders
4
Review any conflicts (duplicate hotwords) and confirm

Placeholder Conversion

Makro automatically converts placeholders from other tools:

ToolTheir SyntaxMakro Equivalent
TextExpander%clipboard[$CLIPBOARD]
TextExpander%|[$CURSOR]
Text Blaze{clipboard}[$CLIPBOARD]
Text Blaze{time}[$TIME]
Espanso{{clipboard}}[$CLIPBOARD]
AutoHotkey%clipboard%[$CLIPBOARD]
Alfred{cursor}[$CURSOR]
PhraseExpress{#clipboard}[$CLIPBOARD]

Export

Click Export in the Makro popup to download your entire macro library as a JSON file. The file includes all categories, subcategories, and macros.

Pro tip: Visit the Switch to Makro page for detailed step-by-step migration guides from each tool.

Starter Packs Free

Pre-built macro collections for common industries and roles. Install with one click.

🏠

Real Estate

Property listings, showings, offers

🎧

Customer Service

Support templates, responses

💻

Engineering

Code snippets, PR templates

📣

Marketing

Copywriting, social media

📈

Sales

Outreach, follow-ups, proposals

⚖️

Legal

Contracts, clauses, disclaimers

How to Install a Pack

1
Open the Makro popup and go to Packs
2
Browse available packs and click Install
3
The macros are added to your library in a new category
Pro tip: Starter packs are a great way to see what Makro can do. Install one, then customize the macros to fit your workflow.

Settings & Customization Free

Customize Makro to fit your workflow - themes, shortcuts, blocked sites, and more.

Appearance

SettingOptions
ThemeAuto (follows system), Light, Dark
Expansion animationEnable/disable the sparkle effect on expansion
Menu formatPipes (|), Slashes (/), or Bullets (-)

Behavior

SettingWhat It Does
Spell checkEnable browser spell check in macro editor
Blocked sitesList of domains where Makro won't expand hotwords
Show top 10 menuDisplay most-used macros in context menu
Show last 5 menuDisplay recent macros in context menu
Folders firstShow categories before macros in context menu

Customizable Shortcuts

All keyboard shortcuts can be changed in Settings to avoid conflicts with other extensions or applications.

AI Settings

SettingDescription
AI providerChoose between Ollama / LM Studio (local) and Makro Cloud
Local AI endpointCustom URL for your local AI server (Ollama or LM Studio)
Prompt styleNatural or Detailed rewrite prompts
Semantic suggestionsAI-powered macro suggestions based on context
Custom promptsCreate your own rewrite instructions
Pro tip: Block sites like banking portals or password managers where you don't want hotwords to trigger accidentally.

Ready to Master Makro?

Install Makro free and start using these features today.

Add to Chrome - Free