System Prompt Builder
Build a structured system prompt for ChatGPT, Claude or Gemini: role, context, instructions, format and constraints, as Markdown or XML tags. Free.
Your input stays in your browser — nothing is uploaded to our servers.
A system prompt sets how an AI model behaves for a whole conversation or app: who it is, what it knows, what it should do and what it must never do. Loose, one-paragraph prompts lead to inconsistent answers. This builder walks you through the five parts that matter and assembles them into a clean prompt you can paste into ChatGPT, Claude, Gemini or an API request.
How to use the system prompt builder
- Fill in the role: who the model is and who it is talking to.
- Add context (background the model can’t guess), instructions (the steps to follow), the output format and any constraints. Empty fields are left out.
- Choose the structure: Markdown headings or XML tags.
- Copy the prompt, or Copy as JSON to get a ready-made
{"role": "system", …}message for an API call. The token count tells you how much of every request the prompt will use.
What makes a good system prompt
Good system prompts are specific. “You are a helpful assistant” tells the model almost nothing; “You are a support agent for a Spanish-language accounting app, talking to small-business owners who are not accountants” tells it vocabulary, tone and what to assume. Context works the same way: give the facts the model cannot infer, such as your product’s limits or your audience.
Write instructions as steps or rules the model can check itself against, and say what to do in the awkward cases (missing data, off-topic questions, requests it must refuse). Describe the output format concretely, with an example if the format is strict. Explain why a constraint exists; models follow rules more reliably when they understand the reason.
Structure helps the model tell instructions apart from data. Markdown headings are easy to read; XML tags such as <instructions> and <context> make the boundaries explicit, which Anthropic recommends for Claude and which works well with other models too. Keep the tag names in English and consistent, and refer to them by name in your instructions.
Every token of the system prompt is sent with every request, so a long prompt costs money on each call. Keep what changes the model’s behaviour and cut the rest.
Frequently asked questions
What is the difference between a system prompt and a user prompt?
The system prompt sets standing rules for the whole conversation and is usually written by the developer. User prompts are the individual messages. Models treat system instructions as higher priority, so put role, rules and format there, and keep user messages for the actual request.
Should I use Markdown headings or XML tags?
Both work. XML tags make the boundaries between sections unambiguous, which helps when the prompt includes long documents or examples; Anthropic recommends them for Claude. Markdown is easier for people to read and edit. Pick one and use it consistently.
Why do the XML tag names stay in English?
Tag names act as labels the model and your code can refer to, so keeping them stable and in English avoids confusion. The content inside the tags can be in any language.
How long should a system prompt be?
As long as it needs to be and no longer. Every token is sent with every request, which adds cost and latency. Start short, test with real inputs, and add instructions only where the model gets something wrong.
Is my prompt stored anywhere?
No. The prompt is assembled and counted in your browser. Nothing you type is sent to our servers.