stable-diffusion-webui is a free, open source ai interaction & interfaces project written in Python and released under AGPL-3.0. It has 165,041 GitHub stars, 33,088 forks and 2,510 open issues, and was last pushed 7 months ago. On this registry it ranks #3 of 149 tracked projects in AI Interaction & Interfaces, with 5 head-to-head comparisons available.

What is stable-diffusion-webui?

stable-diffusion-webui is a Gradio-based web interface for the Stable Diffusion image generation models, aimed at artists, hobbyists, and researchers who want text-to-image and image-to-image workflows in a browser without writing code.

What it is

Stable Diffusion web UI is a Python application that presents the Stable Diffusion deep learning models through a browser interface built with the Gradio library. It lives in the AI and machine learning ecosystem around PyTorch and diffusion models, and it replaces the need to invoke Stable Diffusion through scripts or a terminal, giving instead a graphical surface for prompting, sampling, and post-processing images.

The project solves the practical problem of making a research-grade image generation model usable end to end: beyond the core txt2img and img2img modes, it handles the surrounding workflow — outpainting, inpainting, color sketch, upscaling, face restoration, and parameter management — in one place. It also lowers the hardware barrier, with support reported for 4GB video cards and 2GB in some cases, and Textual Inversion embedding training on 8GB, with reports of 6GB working.

Key capabilities

  • Original txt2img and img2img modes, with sampling method selection, adjustable sampler eta values, negative prompts, and advanced noise settings.
  • Prompt control features including the Prompt Matrix, attention syntax such as ((tuxedo)) or (tuxedo:1.21), mid-generation Prompt Editing, and no token limit on prompts beyond the original Stable Diffusion 75-token limit.
  • An Extras tab offering GFPGAN and CodeFormer for face restoration, plus upscalers RealESRGAN, ESRGAN, SwinIR, Swin2SR, LDSR, and the Stable Diffusion Upscale pipeline.
  • Image experimentation tools: X/Y/Z plot across three parameter dimensions, Loopback for repeated img2img passes, batch processing of file groups, seed resizing, variations, and the Highres Fix option.
  • Generation parameters saved into the image itself — PNG chunks for PNG and EXIF for JPEG — restorable by dragging the image into the PNG info tab, alongside a CLIP interrogator button that guesses a prompt from an image.
  • Model management through checkpoint reloading on the fly, a Checkpoint Merger tab for merging up to 3 checkpoints, and Textual Inversion embeddings with multiple embeddings and half precision support.
  • Textual Inversion training and tiling support for texture-like images, a progress bar with live generation previews, and the option to run arbitrary Python code from the UI when started with --allow-code.

Who uses it and how

  • Individual creators generating images through the browser, interrupting jobs at any time and adjusting defaults, min/max, and step values for UI elements through a text config.
  • Artists iterating on a single image by dragging parameters back from PNG or EXIF metadata into the UI, then refining with Styles saved as dropdown-applied prompt fragments.
  • Practitioners training their own Textual Inversion embeddings on consumer hardware with 8GB of VRAM, and using those embeddings by name alongside as many others as they want.
  • Teams and hobbyists extending the interface through custom scripts and community extensions, including Composable-Diffusion prompts separated by uppercase AND with per-prompt weights.
  • Users post-processing batches of existing images through the Extras tab upscalers and face restoration models.

Getting started

The README describes a one-click install and run script, though Python and git must be installed first; the interface then runs as a Gradio web application.

How it compares

The project stands alone in this registry; no comparable tools are named in the available facts.

When to use it — and when not

A self-hoster needs Python, git, a PyTorch-capable GPU (4GB is supported, with reports of 2GB working), and must weigh the --allow-code option carefully, since it enables running arbitrary Python from the UI. It is a poor fit for anyone needing a hosted, managed service or a stable, long-term supported product: the repository carries 2510 open issues, and no stronger guarantee of maintenance cadence is stated in the facts.

project readme (upstream, from github) — read inline

Stable Diffusion web UI

A web interface for Stable Diffusion, implemented using Gradio library.

Features

Detailed feature showcase with images:

  • Original txt2img and img2img modes
  • One click install and run script (but you still must install python and git)
  • Outpainting
  • Inpainting
  • Color Sketch
  • Prompt Matrix
  • Stable Diffusion Upscale
  • Attention, specify parts of text that the model should pay more attention to
    • a man in a ((tuxedo)) - will pay more attention to tuxedo
    • a man in a (tuxedo:1.21) - alternative syntax
    • select text and press Ctrl+Up or Ctrl+Down (or Command+Up or Command+Down if you're on a MacOS) to automatically adjust attention to selected text (code contributed by anonymous user)
  • Loopback, run img2img processing multiple times
  • X/Y/Z plot, a way to draw a 3 dimensional plot of images with different parameters
  • Textual Inversion
    • have as many embeddings as you want and use any names you like for them
    • use multiple embeddings with different numbers of vectors per token
    • works with half precision floating point numbers
    • train embeddings on 8GB (also reports of 6GB working)
  • Extras tab with:
    • GFPGAN, neural network that fixes faces
    • CodeFormer, face restoration tool as an alternative to GFPGAN
    • RealESRGAN, neural network upscaler
    • ESRGAN, neural network upscaler with a lot of third party models
    • SwinIR and Swin2SR (see here), neural network upscalers
    • LDSR, Latent diffusion super resolution upscaling
  • Resizing aspect ratio options
  • Sampling method selection
    • Adjust sampler eta values (noise multiplier)
    • More advanced noise setting options
  • Interrupt processing at any time
  • 4GB video card support (also reports of 2GB working)
  • Correct seeds for batches
  • Live prompt token length validation
  • Generation parameters
    • parameters you used to generate images are saved with that image
    • in PNG chunks for PNG, in EXIF for JPEG
    • can drag the image to PNG info tab to restore generation parameters and automatically copy them into UI
    • can be disabled in settings
    • drag and drop an image/text-parameters to promptbox
  • Read Generation Parameters Button, loads parameters in promptbox to UI
  • Settings page
  • Running arbitrary python code from UI (must run with --allow-code to enable)
  • Mouseover hints for most UI elements
  • Possible to change defaults/mix/max/step values for UI elements via text config
  • Tiling support, a checkbox to create images that can be tiled like textures
  • Progress bar and live image generation preview
    • Can use a separate neural network to produce previews with almost none VRAM or compute requirement
  • Negative prompt, an extra text field that allows you to list what you don't want to see in generated image
  • Styles, a way to save part of prompt and easily apply them via dropdown later
  • Variations, a way to generate same image but with tiny differences
  • Seed resizing, a way to generate same image but at slightly different resolution
  • CLIP interrogator, a button that tries to guess prompt from an image
  • Prompt Editing, a way to change prompt mid-generation, say to start making a watermelon and switch to anime girl midway
  • Batch Processing, process a group of files using img2img
  • Img2img Alternative, reverse Euler method of cross attention control
  • Highres Fix, a convenience option to produce high resolution pictures in one click without usual distortions
  • Reloading checkpoints on the fly
  • Checkpoint Merger, a tab that allows you to merge up to 3 checkpoints into one
  • Custom scripts with many extensions from community
  • Composable-Diffusion, a way to use multiple prompts at once
    • separate prompts using uppercase AND
    • also supports weights for prompts: a cat :1.2 AND a dog AND a penguin :2.2
  • No token limit for prompts (original stable diffusion lets you use up to 75 tokens)
  • DeepDanbooru integration, creates danbooru style tags for anime prompts
  • xformers, major speed increase for select cards: (add --xformers to commandline args)
  • via extension: History tab: view, direct and delete images conveniently within the UI
  • Generate forever option
  • Training tab
    • hypernetworks and embeddings options
    • Preprocessing images: cropping, mirroring, autotagging using BLIP or deepdanbooru (for anime)
  • Clip skip
  • Hypernetworks
  • Loras (same as Hypernetworks but more pretty)
  • A separate UI where you can choose, with preview, which embeddings, hypernetworks or Loras to add to your prompt
  • Can select to load a different VAE from settings screen
  • Estimated completion time in progress bar
  • API
  • Support for dedicated inpainting model by RunwayML
  • via extension: Aesthetic Gradients, a way to generate images with a specific aesthetic by using clip images embeds (implementation of https://github.com/vicgalle/stable-diffusion-aesthetic-gradients)
  • Stable Diffusion 2.0 support - see wiki for instructions
  • Alt-Diffusion support - see wiki for instructions
  • Now without any bad letters!
  • Load checkpoints in safetensors format
  • Eased resolution restriction: generated image's dimensions must be a multiple of 8 rather than 64
  • Now with a license!
  • Reorder elements in the UI from settings screen
  • Segmind Stable Diffusion support

Installation and Running

Make sure the required dependencies are met and follow the instructions available for:

Alternatively, use online services (like Google Colab):

Installation on Windows 10/11 with NVidia-GPUs using release package

  1. Download sd.webui.zip from v1.0.0-pre and extract its contents.
  2. Run update.bat.
  3. Run run.bat.

For more details see Install-and-Run-on-NVidia-GPUs

Automatic Installation on Windows

  1. Install Python 3.10.6 (Newer version of Python does not support torch), checking "Add Python to PATH".
  2. Install git.
  3. Download the stable-diffusion-webui repository, for example by running git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git.
  4. Run webui-user.bat from Windows Explorer as normal, non-administrator, user.

Automatic Installation on Linux

  1. Install the dependencies:
# Debian-based:
sudo apt install wget git python3 python3-venv libgl1 libglib2.0-0
# Red Hat-based:
sudo dnf install wget git python3 gperftools-libs libglvnd-glx
# openSUSE-based:
sudo zypper install wget git python3 libtcmalloc4 libglvnd
# Arch-based:
sudo pacman -S wget git python3

If your system is very new, you need to install python3.11 or python3.10:

# Ubuntu 24.04
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.11

# Manjaro/Arch
sudo pacman -S yay
yay -S python311 # do not confuse with python3.11 package

# Only for 3.11
# Then set up env variable in launch script
export python_cmd="python3.11"
# or in webui-user.sh
python_cmd="python3.11"
  1. Navigate to the directory you would like the webui to be installed and execute the following command:
wget -q https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui/master/webui.sh

Or just clone the repo wherever you want:

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
  1. Run webui.sh.
  2. Check webui-user.sh for options.

Installation on Apple Silicon

Find the instructions here.

Contributing

Here's how to add code to this repo: Contributing

Documentation

The documentation was moved from this README over to the project's wiki.

For the purposes of getting Google and other search engines to crawl the wiki, here's a link to the (not for humans) crawlable wiki.

Credits

Licenses for borrowed code can be found in Settings -> Licenses screen, and also in html/licenses.html file.

Frequently asked questions

Is stable-diffusion-webui free to use?

stable-diffusion-webui is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does stable-diffusion-webui do?

Stable Diffusion web UI

What is stable-diffusion-webui written in?

stable-diffusion-webui is primarily written in Python. Its source is publicly available at https://github.com/AUTOMATIC1111/stable-diffusion-webui, and it has 165,041 GitHub stars.