Stable Diffusion sampler selector guide
The sampler decides how Stable Diffusion turns noise into your image, and the right choice changes both speed and look. Tell this guide whether you want speed, quality or consistency, and it recommends a sampler with a sensible step range — backed by a full comparison table.
How samplers differ
A sampler is the numerical solver that walks the image from pure noise toward the denoised result. They fall into two broad families:
- Ancestral / stochastic (
Euler a,DPM++ 2S a) inject fresh noise each step. They produce lively, varied output but never fully converge — adding steps keeps changing the image. - Convergent (
Euler,DPM++ 2M Karras,DDIM,UniPC) settle toward a stable result. These are best for reproducibility, hires fix and upscaling, because more steps refine rather than redraw.
The Karras label refers to a noise schedule that spends more steps where they
matter most, which is why DPM++ 2M Karras reaches clean results in relatively
few steps.
Sampler comparison at a glance
| Sampler | Speed | Quality | Converges? | Best for |
|---|---|---|---|---|
| Euler a | Fast | Good | No | Exploration, varied outputs |
| Euler | Fast | Good | Yes | Reproducibility, simple baseline |
| DPM++ 2M Karras | Fast | Excellent | Yes | Default all-round choice |
| DPM++ 2S a Karras | Medium | Excellent | No | High detail, creative runs |
| DPM++ 3M SDE | Slow | Very high | Yes | Maximum quality |
| DDIM | Fast | Good | Yes | Reproducibility, inpainting |
| UniPC | Fast | Excellent | Yes | Few-step quality |
Step suggestions: most convergent samplers reach a clean result at 20–30 steps. Ancestral samplers benefit from more steps (25–40) but keep changing.
The Karras schedule explained
The noise schedule controls how much denoising is done at each step. Standard schedules distribute steps evenly, spending as much time on easy late denoising as on the critical early structure-forming steps. The Karras schedule front-loads more of the budget into the higher-noise early steps where the image’s structure is established, which is why it reaches good results in fewer total steps than an unscheduled sampler. Any sampler with “Karras” in the name uses this schedule; without it, the same solver uses a less efficient default.
When ancestral samplers are useful
Because ancestral samplers inject noise at each step, they produce genuinely different images even when you fix the seed. This makes them good for exploration — generating a batch to see a range of interpretations before committing to a specific look. They are poor choices for hires fix and upscaling, which work by starting partway through the denoising process from a lower-resolution image; a sampler that never converges will change the image unpredictably at that stage rather than refining it.
If you generate a result you love with Euler a and want to reproduce it exactly, note that the output is not fully reproducible even with the same seed — small differences in floating-point arithmetic between runs can produce visible changes. Switch to a convergent sampler to lock the result.
Tips for choosing
- Need it fast?
Euler aorDPM++ 2M Karraslook good by ~20 steps. - Need the best detail?
DPM++ 2M KarrasorDPM++ 3M SDEat 25–35 steps. - Need it reproducible? Pick a convergent sampler (
DDIM,Euler) and lock the seed. - Test, don’t trust. Generate the same prompt across three samplers at a fixed seed and pick the look you prefer — that beats any chart.