Skip to content
Misc

System Prompt Generator

Build structured system prompts for LLMs with presets.

systempromptllmaigenerator
Loading tool…

About the System Prompt Generator

The System Prompt Generator assembles a structured, sectioned system prompt for any LLM from six simple inputs: role, task description, tone, constraints, output format, and language. Type "a senior copywriter" into the Role field, describe the task, pick a tone from professional, casual, friendly, or authoritative, choose among plain text, markdown, JSON, table, or bullet-list output, and add one constraint per line — the generator compiles everything into a clean markdown document with Role, Task, Tone, Constraints, Output format, Language, and Behaviour sections, closing with sensible guardrails such as asking a clarifying question on ambiguity. Three one-click presets (coding assistant, writing coach, and data analyst) pre-fill every field so you can study how a production-grade system prompt is structured, and a Blank button resets the form for a fresh build. Live badges show your current tone, format, and constraint count, and the finished prompt can be copied or downloaded as a .md file. Because assembly happens client-side, nothing is sent anywhere — making it a safe system prompt maker for proprietary products and internal tools.

System Prompt Generator examples

Input
Click Blank, then fill Role: "a senior copywriter specialised in B2B SaaS", Task: "Write landing-page copy, edit drafts, suggest headlines", and keep Tone: professional, Output format: text, Language: English.
Output
# Role
You are a senior copywriter specialised in B2B SaaS.

# Task
Write landing-page copy, edit drafts, suggest headlines

# Tone
Adopt a professional tone. Polished, neutral, third-person where appropriate.

# Output format
Respond in text. Plain prose paragraphs.

# Language
Respond in English.

# Behaviour
- If the request is ambiguous, ask one clarifying question before proceeding.
- If you do not know, say so explicitly rather than guessing.
Note: Blank resets tone to professional, format to text, and language to English; empty constraints mean no Constraints section.
Input
Click the Data analyst preset.
Output
# Role
You are a senior data analyst with expertise in statistics and SQL.

# Task
Analyse datasets, write queries, interpret results, and surface insights. Always state assumptions.

# Tone
Adopt an authoritative tone. Direct, confident, decisive — minimal hedging.

# Constraints
- State assumptions before drawing conclusions
- Provide the SQL query alongside any interpretation
- Flag sample-size and bias concerns explicitly
- Round numbers sensibly and include units

# Output format
Respond in table. Markdown table with headers.

# Language
Respond in English.

# Behaviour
- If the request is ambiguous, ask one clarifying question before proceeding.
- If you do not know, say so explicitly rather than guessing.
Note: The preset fills all six inputs at once — the badges show Tone: authoritative, Format: table, and 4 constraints.
Input
Click Blank, set Role: "a research assistant", Task: "Summarise the article into key points", and change Output format to JSON.
Output
# Role
You are a research assistant.

# Task
Summarise the article into key points

# Tone
Adopt a professional tone. Polished, neutral, third-person where appropriate.

# Output format
Respond in JSON. Strict, valid JSON — no prose outside the JSON.

# Language
Respond in English.

# Behaviour
- If the request is ambiguous, ask one clarifying question before proceeding.
- If you do not know, say so explicitly rather than guessing.
Note: The Format badge updates to JSON and the Output format section now promises "Strict, valid JSON — no prose outside the JSON."

How to use the System Prompt Generator

  1. 1

    Choose a starting point: click Coding assistant, Writing coach, or Data analyst to load a full preset, or Blank for empty fields.

  2. 2

    Fill the Inputs card: Role, Task description, Language, and one constraint per line in the Constraints field.

  3. 3

    Pick a Tone (professional, casual, friendly, or authoritative) and an Output format (text, markdown, JSON, table, or bullet list) from the dropdowns.

  4. 4

    Check the badges under Inputs — they confirm the tone, format, constraint count, and prompt length before you copy anything.

  5. 5

    Copy the Generated system prompt or download it as system-prompt.md, then paste it into your model's system-message field.

Common use cases

  • Create custom instructions for ChatGPT or Claude — a structured persona that persists across a conversation.
  • Define an in-house coding assistant with explicit constraints (no partial diffs, flag security issues) for your team's API wrapper.
  • Standardise customer-facing bots — generate one canonical system prompt per agent and version it in source control.
  • Build a writing coach for non-native speakers — friendly tone, bullet-list feedback, and a three-changes-per-pass limit.
  • Produce analysis prompts for data teams — authoritative tone plus table output keeps reports consistent.
  • Rapidly prototype new personas — flip presets, tweak a field, and read the assembled markdown to evaluate an idea in seconds.

Best practices

  • Put one constraint per line in the Constraints field: the generator turns each line into a markdown bullet, so mixing two ideas on one line produces one dense, hard-to-follow bullet.
  • Match the tone to the output format: the JSON format description promises strict, valid JSON, so pair it with the authoritative or professional tone rather than a chatty one.
  • State the role in plain language ("a senior copywriter specialised in B2B SaaS") — the generator prefixes it with "You are", so starting the role with "You are" yourself creates an awkward duplicate.
  • Review the generated Behaviour section before using it: it is appended automatically to every prompt, and its clarifying-question guardrail may conflict with strict output formats like JSON.
  • Use the three presets as templates, not final answers: apply a preset, then edit the role, task, and constraints to your situation — the structure survives while the specifics become yours.
  • Download the .md file and version it alongside your code so the exact system prompt in production can be audited and diffed later.

Tips

  • Load a preset first even if you plan to start fresh — it demonstrates which fields a production-quality prompt actually fills.
  • Write the role as a noun phrase ("a senior copywriter"), since the generator prepends "You are" automatically.
  • The constraint counter catches formatting mistakes — if it shows 1 when you typed 4 lines, check for a stray paragraph break.
  • When the model must answer in strict JSON, consider deleting the Behaviour section, whose clarifying questions would break the format.

Frequently asked questions

Up to seven markdown sections, each with a # heading: Role, Task, Tone, Constraints, Output format, Language, and Behaviour. Empty inputs are skipped — a blank role removes the Role section entirely. The Behaviour section is always appended and contains two fixed guardrails: ask one clarifying question when ambiguous, and admit when you do not know rather than guessing.

Professional is polished, neutral, and third-person where appropriate; casual is conversational and first-person with contractions; friendly is warm, approachable, and encouraging; authoritative is direct, confident, and decisive with minimal hedging. Each tone adds a description line to the Tone section, so the final prompt states both the tone and what it means.

Five: plain text, markdown, JSON, table, and bullet list. The generated prompt names the format and appends a description — JSON promises "strict, valid JSON with no prose outside the JSON", while table promises a markdown table with headers. The Format badge above the result shows the current selection, and it can be changed at any time without touching the other fields.

Three one-click presets: a coding assistant (a TypeScript/React/Node.js engineer with four constraints and markdown output), a writing coach (friendly tone, bullet-list output, three constraints), and a data analyst (authoritative tone, table output, four constraints). Each fills every field at once and the result regenerates instantly. The Blank button clears all inputs to professional/text defaults for a fresh build.

You can, but one constraint per line is better. The generator splits the Constraints field on newlines, trims each line, and renders every line as a markdown bullet — a paragraph becomes a single long bullet. The hint above the field shows the constraint count so you can see exactly how many rules will appear in the output.

Anywhere an LLM product accepts a system message: ChatGPT custom instructions, API-based apps for GPT, Claude, or Gemini, or agent frameworks such as LangChain. Paste the generated markdown as-is, or adapt it — many teams keep the Role, Task, and Constraints sections and drop the Behaviour guardrails when the platform has its own handling.

Explore more misc tools

Browse the full collection of misc tools on the hub, or jump back to all categories.

Related tools

Did this tool help?

Anonymous — one tap, no sign-up.