Command Palette

Search for a command to run...

Book a call

Prompt templates with {{variables}}, minus the account, the API key and the bill

Most prompt playgrounds want a sign-in, an API key and a credit card before you can fill in a variable. My free prompt template playground does the boring, useful part: write system and user prompts with {{variables}}, fill them in, see what's still missing and copy the result as plain text or as a ready-to-send Anthropic or OpenAI request body. It never calls a model and nothing is stored.

prompt-engineeringllmaianthropicopenaifree-tools

My prompts start life in a notes app, move to a Python f-string, break because of a stray curly brace, get rewritten in a playground that wants me logged in, then get copied back into code where I forget to fill in one variable. The model then cheerfully reviews a pull request called {pr_description}.

So I built a prompt template playground for the bit between "idea" and "API call".

How do prompt playgrounds compare?

ToolGood forWatch out forHonest assessment
Anthropic Console WorkbenchTesting Claude prompts with variables against the real modelNeeds an account and API creditsThe best place to see Claude's actual answer.
OpenAI PlaygroundTesting GPT prompts and settingsNeeds an account and API creditsSame, for OpenAI.
Prompt management platformsVersioning, evals, team workflowsAccounts, SDKs, often paidWorth it once you have dozens of prompts in production.
A Python f-stringSpeed{ in your prompt text, silent missing variablesWe've all been there.
Sidd's prompt playgroundDrafting templates and building request bodies, no accountDoesn't call a model, so no responsesThe scratchpad before the API call.

How do prompt template variables work?

Write {{name}} anywhere in the system prompt or user prompt. The playground finds every variable in both, de-duplicates them and gives you an input for each.

text
System: You are a senior {{role}}. Answer in {{language}}
        and keep it under {{max_words}} words.

User:   Review this pull request description and list
        the three biggest risks.

        {{pr_description}}

That sample (it's what the tool opens with) has four variables, so you get four fields. Names can use letters, numbers, underscores, dots and hyphens, and spaces inside the braces are fine: {{ customer_name }} works too. Both editors autocomplete variables you've already used in either prompt, so you don't end up with {{customer_name}} in one place and {{customerName}} in the other.

What happens to a variable I leave empty?

It stays as a {{placeholder}} in the output, and a line above the result lists every variable that isn't filled in yet:

text
Not filled in yet: pr_description. They stay as {{placeholders}} below.

That one line would have saved my PR-review bot from an awkward afternoon.

What formats can I copy?

Three tabs, one click each:

flowchart LR
    A[System + user template] --> B[Fill variables]
    B --> C{Copy as}
    C --> D[Plain text]
    C --> E[Anthropic Messages JSON]
    C --> F[OpenAI Chat messages JSON]
  • Text: the filled system prompt, a --- divider, then the user prompt. For pasting into a chat window.
  • Anthropic: a Messages API body with system as a top-level field, messages with your user turn and a max_tokens value:
json
{
  "model": "YOUR_MODEL",
  "max_tokens": 1024,
  "system": "You are a senior backend engineer. Answer in English and keep it under 150 words.",
  "messages": [{ "role": "user", "content": "Review this pull request..." }]
}
  • OpenAI: a Chat Completions body with the system prompt as a system role message, followed by the user message.

Swap YOUR_MODEL for the model you're using and send it. The difference between the two shapes (where the system prompt goes, whether max_tokens is required) trips people up constantly, which is half the reason this tool exists.

Is my prompt stored anywhere?

No. Everything stays in your browser tab and disappears when you close it. There's no account, no history and no server.

FAQ

What is a prompt template?

A reusable prompt with placeholders, like {{topic}} or {{customer_email}}, that get filled in with different values for each request.

How do I use variables in a prompt?

Wrap the variable name in double curly braces, {{like_this}}, in the playground. It creates a field for each one and fills them in for you.

Does it call ChatGPT or Claude?

No. It builds the final prompt and the request body so you can send it from your own code, API client or the provider's console.

What's the difference between the Anthropic and OpenAI message formats?

Anthropic's Messages API takes the system prompt as a top-level system field and requires max_tokens. OpenAI's Chat Completions API puts the system prompt in the messages array with the system role. The playground writes both for you.

Do I need an API key?

No. Nothing is sent to a model, so there's nothing to authenticate.

Want to try it?

Open the prompt template playground, fill in the sample's four variables and flip between the output tabs. Then paste your filled prompt into the token cost calculator to see what it costs at scale. If you're defining tools for the model as well, the tool schema converter handles that part. Everything else lives in free tools.

Want another output format, like Gemini? Email siddhant06137@gmail.com or find me on X as @creatorsidd. Building an AI feature? Book a 15-minute call.

Open for challenges.

Tell me what you're building, or grab a 15-minute call.

Command Palette

Search for a command to run...