Skip to content
kitto works
All tools

Prompt Template Filler | Auto-detect {variables} and fill in the blanks

Paste a prompt template containing {variables} or {{variables}} and this tool auto-detects them, builds a fill-in form, and assembles the finished prompt in real time with one-click copy. Templates can be saved in your browser and nothing is ever sent to a server.

Your templates and values are processed entirely in your browser and never sent anywhere. Saved templates are stored only in this browser's localStorage.

Fill in the variables

No {variable} or {{variable}} placeholders found. Enter text containing curly-brace variables in the field above.

Finished prompt

My templates (saved on this device)

Saved templates

No saved templates yet.

    How to use

    1. Paste text containing {variable} or {{variable}} placeholders into the template field, or load a sample template.
    2. Fill in the auto-generated input field for each detected variable.
    3. The finished prompt assembles in real time. Press "Copy finished prompt" and paste it into ChatGPT, Claude, or any other AI service.

    How it works

    Variable detection rules

    • Both {variable} (single braces) and {{variable}} (double braces) are recognized. In real-world documentation, Anthropic, Semantic Kernel, and AWS Bedrock use double braces while LangChain uses single braces, so this tool supports both formats to accept templates from either convention.
    • Leading and trailing spaces inside the braces are trimmed ({ name } and {name} are the same variable).
    • A variable that appears multiple times gets a single input field, and the value is applied to every occurrence. {name} and {{name}} with the same name are treated as one variable.
    • Empty braces ({}), names containing line breaks, and names longer than 50 characters are not treated as variables and remain as plain text.

    Substitution rules

    • Only variables with a non-empty value are replaced. Unfilled variables remain as {name} in the finished prompt, so you can spot missing values at a glance.
    • Substitution runs in a single pass: if an entered value itself contains something like {other}, it is not expanded again (this prevents unintended replacements).
    • Templates can be up to 20,000 characters long.

    Saving templates

    • "My templates" are stored only in your browser's localStorage on this device. They are never uploaded to a server and do not sync to other devices or browsers.
    • Up to 20 templates can be saved; saving with an existing name overwrites it.

    What this tool does not do

    • It does not call any AI (LLM). To run your finished prompt, copy it and paste it into ChatGPT, Claude, Gemini, or the service of your choice.

    FAQ

    Are my templates or prompts sent anywhere?

    No. Variable detection and substitution run entirely in your browser. Saved templates are stored only in your browser's localStorage and nothing is ever sent to a server.

    Should I write {variable} or {{variable}}?

    Either works, and both can be mixed in one template. If you want to avoid ordinary braces in your text (e.g. {note}) being detected as variables, standardize on double braces {{variable}}.

    Can this tool generate text with AI?

    No. This tool never calls an AI (LLM). It only fills in your template and assembles the finished prompt. Copy the result and paste it into ChatGPT, Claude, Gemini, or any AI service you use.

    What happens to variables I leave blank?

    Unfilled variables stay in the finished prompt as {name}, so you can see exactly which blanks are still missing before you copy.

    Can I use saved templates on another device?

    No. Templates are saved only in this browser's localStorage on this device; there is no upload or sync. Note that clearing your browser's site data will also delete saved templates.