Prompt Builder
Fill in the parts of a prompt and get it laid out the way Claude, ChatGPT or Gemini reads best. No API calls, nothing leaves your browser.
You give us the role, the context, the task and the constraints, plus any examples and an output format. We put them in the structure each lab documents for its own model.
Build
Prompt
0 wordsClaude and JSON: in the API you can prefill the assistant turn with { so the reply starts inside the object, on models that support prefill. Prefill and extended thinking don't work together.
How do I write a prompt for Claude?
Claude mode follows Anthropic's own prompt engineering docs.
- Use XML tags to split the prompt up:
<instructions>,<context>,<document>,<example>. Pick your own names. Instructions and data should never share a block. - Put long context before the task. Documents at the top, the question at the end. Anthropic's docs report better answers on complex, multi-document inputs.
- Give examples, several if you have them, in
<example>tags inside an<examples>block. One example of the exact output shape does more than describing it. - Let Claude think. Ask for reasoning in
<thinking>tags, the answer in<answer>tags. With extended thinking on the model reasons first anyway, so skip it there. - State the output format. For JSON, say that nothing but the JSON should come back. In the API you can prefill the assistant turn with
{so the reply starts inside the object; prefill and extended thinking don't mix. - Put the role in the system prompt and keep task-specific instructions in the user turn.
Does a prompt for ChatGPT differ from one for Claude?
Less than you'd think. All three read plain Markdown fine, and a clear prompt in one style works in the others. What differs is what each lab documents.
- Claude: XML tags, context before the question, examples in tags, thinking tags, prefill. Structure is the point.
- ChatGPT: OpenAI's guides use Markdown headings and delimiters like
###or triple quotes, and for a long prompt suggest repeating the key instruction at the end. For their reasoning models the advice flips: keep it simple and let the model reason. Strict JSON is better enforced through the API's structured outputs than through wording. - Gemini: Google's prompt design guide leans on prefixes (
Input:/Output:), few-shot examples that follow one pattern, and stating the output format outright. For long inputs the question goes after the content, so Gemini mode ends with the format.
Prompt improver
A prompt improver takes your rough prompt and rewrites it: role, context and task pulled apart, structure added, output format pinned down. Anthropic ships one in its Console and OpenAI has a prompt optimizer in its Playground. Both call a model to do the rewriting.
This page builds. It doesn't improve. You supply the parts, we assemble them the same way every time, and the review strip runs fixed checks: is there a task, does it have a verb and an object, is a format stated, do any constraints contradict each other. An AI-assisted improve step is planned. It isn't here yet.
System prompt vs user message
The system prompt holds the standing instructions for a whole conversation: who the model is and the rules it follows. The user message carries one turn's task and data. In the APIs they're separate fields (Anthropic's system, OpenAI's system or developer message, Gemini's system_instruction). In the chat apps the nearest things are ChatGPT's custom instructions, Claude's project instructions and Gemini's Gems.
Questions
Does the prompt builder send my text anywhere?
No. The page is static and your prompt gets assembled by JavaScript in your browser. The one thing we keep is a draft in local storage, so the form survives a reload. Clear wipes it.
Why does the Claude version use XML tags?
Anthropic's prompt engineering docs recommend splitting a prompt up with XML tags like <instructions>, <context> and <example>, putting long context before the question, and asking for reasoning in <thinking> tags. Claude mode follows that. The other modes use Markdown headings, which is what OpenAI's and Google's guides use.
What is the difference between a system prompt and a user message?
The system prompt holds the standing instructions for a whole conversation: the role, the rules, the output format. The user message carries the task and the data for one turn. In the APIs the system prompt is its own parameter; in the chat apps the nearest things are custom instructions, project instructions and Gems. The split toggle sends role, style, constraints and format up top, and context, examples and the task to the user message.
Can it improve a prompt I already have?
Not yet. This version builds: you type the parts, we assemble them the same way every time and run fixed checks over them, like whether the task has a verb and an object and whether your constraints contradict each other. An AI-assisted improve step is planned. It isn't here yet.