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.

Hand-written guide

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

  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.

Explore more misc tools

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