Stable Diffusion Prompt Generator
Build keyword prompts, weights and negative prompts for SDXL and SD 1.5 in seconds.

Runs entirely in your browser. Your text is never uploaded.
Stable Diffusion does not read a prompt the way a chatbot does. It tokenizes your text, turns it into an embedding, and uses that embedding to steer every denoising step from static noise toward an image. A polite English sentence spends most of its budget on words that carry no visual signal. A tight stack of nouns and modifiers spends all of it on pixels.
The generator above is our image prompt generator preset for Stable Diffusion, so it hands you comma-separated tags plus a matching negative prompt instead of prose. It runs entirely in your browser. Nothing gets uploaded, nothing is stored, and there is no account to create.
Write in keywords, not sentences
Put these side by side:
- "A beautiful photograph of an old fisherman who is standing on a dock at sunset"
- "old fisherman, weathered face, standing on wooden dock, sunset, golden hour, 85mm, highly detailed"
Same idea. The second version gives the model a dozen usable visual anchors instead of three. Three habits carry most of the improvement:
- Lead with the subject. Early tokens tend to dominate composition, so bury the subject at the end and it gets treated as an afterthought.
- Separate with commas. Each comma-separated chunk behaves like a tag the model can latch onto independently.
- Delete adjectives that describe nothing visible. "amazing", "perfect" and "stunning" burn tokens without moving a single pixel.
A block order that holds up across checkpoints: subject, subject details, pose or action, setting, lighting, camera or medium, art style, quality tags.
Thirteen chunks, zero filler. If you are new to describing images this precisely, the guide to writing image prompts walks through each block with before-and-after examples.
Weighting: tell the model what actually matters
Most Stable Diffusion front-ends (AUTOMATIC1111, Forge, ComfyUI, InvokeAI) support attention weighting. Wrap a term in parentheses with a number and you scale how hard the sampler pulls toward it.
(red scarf:1.3)— roughly 30% stronger than default(background:0.7)— pushed back, less insistent((crown))— the legacy nested form, about 1.21x; the explicit number is easier to reason about
Stay inside 0.6 to 1.5. Past about 1.6 you start seeing colour bleed, duplicated limbs, or a subject that eats the whole frame. When two concepts fight each other, lower the one you care less about instead of raising the one you want. Turning things down deforms the image far less than cranking things up.
Negative prompts matter more here than anywhere else
Midjourney and DALL-E give you almost no control over what to avoid. Stable Diffusion gives you a full second prompt, and it is not a filter bolted on afterward. Every step, the sampler runs the model twice: once conditioned on your prompt, once conditioned on the negative, then pushes the result away from the negative. Leave that field blank and it silently uses the empty string, which is why blank-negative images so often look soft and muddy.
Keep your negative honest. A 60-token wall of everything you have ever seen recommended will flatten style along with the flaws. Start with anatomy fixes, compression artifacts and watermarks, then add terms only when you actually see the problem. Our negative prompt generator builds a starting list from the subject you are shooting, which beats copying someone else's block from a forum.
CFG, steps, sampler and seed in plain language
- CFG scale decides how literally the model obeys your text. Around 3 it improvises. Around 7 it follows you while keeping natural texture. Above 12 it over-commits: crunchy contrast, fried colours, mangled hands. Photorealism likes 5 to 8. Illustration tolerates 7 to 10.
- Steps is how many denoising passes it runs. Modern samplers land clean images by 20 to 30. Going to 80 mostly buys you a longer wait and a slightly different picture, not a better one.
- Sampler is the algorithm that removes noise. DPM++ 2M Karras is the safe default. Euler a is non-deterministic in a useful way and shifts noticeably with step count. Pick one and stop touching it while you tune the prompt.
- Seed is the starting noise pattern. Same seed plus same prompt plus same settings equals the same image, every time. That reproducibility is the single most useful thing Stable Diffusion has that closed tools do not.
SDXL and SD 1.5 want different prompts
SDXL has a much stronger text encoder, so it handles short natural phrases that would confuse 1.5. You can write "a woman reading a letter by candlelight, seventeenth century Dutch painting" and get something coherent. It also needs far fewer quality tags. Chains like "masterpiece, best quality, 8k, ultra detailed, trending on artstation" were crutches for 1.5's weaker encoder; on SDXL they mostly add a generic sheen.
SD 1.5 rewards the opposite: dense tags, explicit weighting, longer negatives, and heavy leaning on community checkpoints. It was trained at 512x512, so asking for 1024x1024 directly tends to produce two heads or a doubled torso. Generate at 512x768, then upscale.
SDXL was trained at 1024x1024 and handles 832x1216 or 1216x832 comfortably. Feed it a 512px canvas and quality drops instead of improving. Whatever base you use, keep dimensions as multiples of 64.
Checkpoints and LoRAs change what your words mean
The same prompt produces wildly different results on different checkpoints, because a checkpoint is a fine-tune with its own vocabulary. Anime models expect Danbooru-style tags. Photoreal merges expect camera language. A model trained on captioned art responds to artist and movement names. Browse what a checkpoint's author wrote on Hugging Face before assuming your prompt transfers, and check Stability AI for what each base release was actually trained on.
LoRAs sit on top and are invoked with syntax like <lora:filmgrain_v2:0.7>. That trailing number is strength. Two or three LoRAs at 1.0 each will fight and produce mush; 0.5 to 0.8 usually blends better. Many LoRAs also need a trigger word in the prompt to do anything at all.
Iterate with a fixed seed
This is the workflow that separates people who get what they want from people who reroll for an hour.
- Generate a batch of four to eight on random seeds until one composition looks close.
- Copy that seed and lock it.
- Change exactly one thing — a weight, one tag, CFG by a single point.
- Regenerate and compare. The composition stays put, so the difference you see is the difference you made.
- Once the prompt is right, set the seed back to random and batch out variations.
Same discipline applies to text models, and the reasoning behind it is laid out in prompt engineering fundamentals. Writing for other image models is a different dialect: see the Midjourney prompt generator for parameter-driven syntax, or the DALL-E prompt generator if you want full descriptive sentences instead of tags.
Frequently asked questions
Related tools
Keep reading
Write your next prompt in seconds
Turn a rough idea into a clear, structured prompt any AI can follow. Free, private, and no account needed.


