Prompt loaded. Click Detect Variables to turn it into a reusable template.

Prompt Builders

Prompt Variable Builder

Paste a prompt you already use. The tool finds the fixed values inside it — names, numbers, dates, audiences — and turns them into {{variable}} placeholders, so you can reuse the same prompt with different values. Runs entirely in your browser.

Paste a normal prompt — no special syntax needed. Tip: select any value and click Make Variable to convert it by hand.

AI Resource Library

Resources for this tool

View All Resources →
Operations

SOP Variable Builder

Documents variables in standard operating procedure prompt templates — process name, owner, steps, exceptions, validation checks, handoff rules, and review cadence.

View Resource →

Workflow Playbooks

Playbooks that use this tool

All Playbooks →
Operations Workflows · 3 steps

AI Hiring Workflow

Run hiring the same way for every role — build a reusable job-description template, lay out a consistent screening sequence, and extract structured data from resumes instead of eyeballing each one.

View Playbook →

How it works

Paste a prompt template that uses {{variable}} placeholders into the input area, then click Build Variables. The tool scans the template for all {{name}} patterns, validates each name against the variable syntax rules, and produces a table of detected variables. Each variable gets a row where you can set a label, type, required flag, default value, example value, and description. If you rename a variable in the table, the Updated Template tab shows the template with all occurrences of that name replaced. The exports — JSON schema, Markdown documentation, CSV, and TypeScript interface — all reflect the current state of the table including any renames. Nothing is sent to a server or rewritten by an AI.

Use cases

  • An API request template that accumulated {{endpoint}}, {{apiEndpoint}}, and {{url}} over time — all pointing to the same value but named differently across copies
  • A SQL query template where {{table}}, {{tableName}}, and {{table_name}} ended up in different versions, making the template impossible to reuse consistently
  • A job description template with twelve variables that has never been documented — the variable builder produces a Markdown reference sheet in one click
  • A landing page prompt where {{cta}} and {{primaryCta}} coexist and the tool flags them as potentially similar before the template is shared with a team
  • A product brief template where the variable names mix camelCase and snake_case — the naming convention warning surfaces this before the TypeScript interface is generated

Pro tips

  • Build the variable table before sharing a template with teammates. The JSON export gives them a schema they can validate against programmatically.
  • If the tool flags two variables as similar, check whether they were added at different times to solve the same problem. Renaming to one consistent name is almost always the right call.
  • TypeScript output is useful even if you're not using TypeScript. The interface shows you exactly what types each variable should carry — paste it into a code review comment or a template spec doc.
  • The CSV export is the fastest way to hand a variable list to a content or operations team who will fill in the example values in a spreadsheet.

FAQ

What counts as a valid variable name?

A valid name starts with a letter or underscore, then contains only letters, digits, and underscores. No spaces, hyphens, or special characters. {{productName}}, {{api_key}}, and {{step1}} are valid. {{product-name}}, {{ topic }}, and {{123id}} are not.

What happens when I rename a variable?

The Updated Template tab shows the original template with every occurrence of the old name replaced by the new one. The original template in the input area is not changed — you can copy the updated version from the tab when you're ready.

Why are two variables flagged as similar?

The tool checks whether two variable names resolve to the same base form after lowercasing, removing underscores, and stripping common prefixes like 'target', 'primary', or 'user'. If they do, it warns you — they may represent the same value under different names.

Is the template sent to a server?

No. Everything runs in your browser. The template text never leaves your machine.

Can I use the TypeScript interface directly in code?

Yes. The interface name is PromptVariables and the type mapping is: text/url/email/date → string, number → number, boolean → boolean, list → string[], json → unknown. Copy it into your codebase or adjust the type names as needed.