Fill in the fields. Get a structured prompt for ChatGPT, Claude, Gemini or Copilot, with an exact token count. No model, no upload.
Exact GPT token count with the same o200k tokenizer as the Token Counter. Want a ready-made starting point? Browse the Prompt Templates library.
Most weak prompts are not badly written; they are incomplete. The request is there, but the role the model should play, the reader it is writing for, the format you need and the things it must not do are all left for the model to guess. This tool turns those missing pieces into fields. You fill in the ones that matter, and the generator assembles a structured prompt with a labeled section for each one, ready to paste into ChatGPT, Claude, Gemini, Copilot or any other assistant.
It is a builder, not a rewriter. There is no model behind the page: the prompt you get is exactly the text you supplied, organized into sections whose headings the assistant can follow. Everything runs in your browser, nothing is uploaded, and the token count next to the result uses the same o200k tokenizer as our Token Counter, so you know what the prompt will cost before you send it.
| Field | What to put in it | Why it matters |
|---|---|---|
| Role | Who the model should be: “a senior technical editor”, “a skeptical data analyst” | A role sets vocabulary, depth and default assumptions in one line. Anthropic’s documentation frames the system prompt as the place to give Claude a role; the generator writes it as the first section |
| Task | The one thing you want, in one or two sentences | The only required field. A vague task produces a confident answer to a question you did not ask |
| Context | What the model cannot know: source material, what was already tried, what the output is for | Context is the difference between a generic answer and yours |
| Audience | Who will read the output | Sets the level of explanation and the words that need defining |
| Tone and style | One of seven presets, from neutral to playful | Tone is cheaper to specify than to fix afterwards |
| Output format | Paragraphs, bullets, numbered steps, a Markdown table, JSON only, a code block, an email | Microsoft’s prompt-engineering guidance singles out specifying the output structure and priming the output as reliable levers |
| Length | From one sentence to about 1,500 words, or “as long as needed” | Models default to a length of their own; stating yours removes a guess |
| Constraints | One rule per line: “Under 150 words”, “Keep every number as given”, “No em dashes” | Negative and scope constraints prevent the most common failure modes, and the generator places them where the model reads them as rules |
| Examples | One or two samples of the output you want, or an input/output pair | Examples show what adjectives cannot. Google’s Gemini guidance says prompts without examples tend to be less effective, and that clear examples can even replace instructions |
The preset row sets sensible defaults for tone, format, length and the process options, and the Sample button fills every field with a complete worked example for that preset so you can see the shape of a good prompt before writing your own. Write produces Markdown with headings at about 800 words. Summarize asks for bullets and turns on the honesty rule so the model flags claims the source does not support. Code requests a single code block, asks for clarifying questions first and adds step-by-step reasoning. Analyze separates what data shows from what it suggests. Brainstorm loosens tone and drops the length cap. Image prompt leaves role and format empty, because image models read a description, not a brief. System prompt changes the layout entirely (see below).
By default the generator writes Markdown: a # heading per section and a dash per constraint. That is not decoration. OpenAI’s GPT-4.1 prompting guide offers a headed structure as a starting point, with sections such as Role and Objective, Instructions, Reasoning Steps, Output Format, Examples and Context, and notes that the model follows instructions more literally than its predecessors, so a well-specified prompt is highly steerable. Microsoft’s guidance likewise recommends clear syntax, separators and section headings so the model can tell instructions from material. Switch to Plain text when you are pasting into a field that shows Markdown symbols literally; the sections stay, written as uppercase labels instead of headings.
A user prompt is a single request. A system prompt (OpenAI also calls it a developer message; Gemini calls it system instructions) is standing guidance that applies to a whole conversation or product: who the assistant is, what it must always and never do, how it formats replies. The System prompt preset restructures the output for that job, opening with an Identity section built from the role and the context, followed by Instructions, Audience, Tone, Output format, a merged Constraints list that includes the process rules, and Examples of good exchanges. Paste the result into the system or developer field of your API call, custom GPT or Claude Project.
Every field you add makes the prompt longer, and prompt length is paid twice: once against the model’s context window and once on the bill, on every call for a system prompt or a few-shot example. The count next to the output is an exact o200k count, the encoding used by GPT-5, GPT-4.1 and GPT-4o; Claude and Gemini use their own tokenizers, so treat the number as a close estimate for them. If a prompt grows past a few hundred tokens, look at the Examples and Context fields first: they are usually where the weight is, and where trimming costs the least.
Write the task as the outcome you want, not the activity: “produce a 5-row comparison table of X and Y” beats “help me compare X and Y”. Put facts the model cannot know in Context and put rules in Constraints; mixing them makes both weaker. Prefer one real example over three adjectives. State the audience even when it feels obvious, because the model’s default reader is nobody in particular. Keep the honesty rule on for anything factual. Then iterate: change one field, run again, and compare. Microsoft’s guidance notes that models can be susceptible to recency bias, with material at the end of a prompt carrying more weight, which is why the generator closes with a final line restating that the constraints win.
The generator is a few hundred lines of JavaScript running on your device. It stores nothing, sends nothing and has no account; close the tab and the fields are gone. It does not score or “optimize” your prompt with a model, it does not rewrite your words, and it cannot know whether your task is a good idea. What it guarantees is structure: every prompt it produces has the same labeled sections in the same order, so the assistant reads rules as rules and context as context. For reusable prompts with fill-in blanks, use the Prompt Templates library; to clean the answer you get back, use the AI Text Cleaner.
A tool that assembles a complete prompt for an AI assistant from the parts a good prompt needs: a role, a task, context, the audience, tone, output format, length, constraints and examples. This one is template-driven: it organizes the text you supply into labeled sections rather than asking a model to write the prompt for you.
No. The generator runs entirely in your browser with no model behind it. The prompt is your own words, arranged into a structure that assistants follow well, with a live token count. That keeps it free, private and deterministic: the same fields always produce the same prompt.
Yes. The output is plain Markdown or plain text, which every major assistant accepts. The token count is exact for OpenAI models that use the o200k encoding (GPT-5, GPT-4.1, GPT-4o) and a close estimate for Claude and Gemini, which use their own tokenizers.
A user prompt is one request in a conversation. A system prompt (OpenAI also calls it a developer message; Gemini calls it system instructions) is standing guidance for the whole conversation or product: who the assistant is, what it must always and never do, and how it formats replies. The System prompt preset restructures the output for that use.
As long as it takes to remove guesswork, and no longer. A clear task with a stated audience and format is often under 100 tokens. Examples and pasted context add most of the length, and they are paid on every call when they live in a system prompt, so use the token count to decide what earns its place.
No. Everything you type stays in your browser. There is no server, no account and no logging, and the tokenizer that counts tokens is a local file loaded from this site.