SD VAE Selection Guide

Choose the right VAE for sharp colors, skin tones, or anime style in SD

Compare common Stable Diffusion VAEs (sd-vae-ft-mse, vae-ft-840000, blessed2, kl-f8-anime2, SDXL VAE and more) by how they handle colour and skin tones. Pick your image style for a recommended VAE plus download and usage notes. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

What does a VAE do in Stable Diffusion?

The VAE (Variational Autoencoder) decodes the model's internal latent representation into the final pixel image. A better-matched VAE produces sharper detail, more accurate colours and healthier skin tones, while a mismatched one can wash out or grey the image.

Pick a VAE that matches your style

If your Stable Diffusion images look slightly grey, washed out or muddy, the VAE is almost always the culprit. The VAE is the final decode step that turns the model’s latent math into pixels, and different VAEs render colour, contrast and especially skin tones differently. This guide matches your image style to a well-known VAE and tells you exactly which file to download.

How VAEs affect the image

Stable Diffusion works in a compressed latent space; the VAE decodes that latent into the RGB image you see. Two checkpoints with the same prompt can look very different purely because of their VAE:

  • sd-vae-ft-mse-840000 — the community default for SD 1.5 realism. Slightly softer, very natural skin tones, reliable colour.
  • vae-ft-mse (original) — a touch more contrast and saturation than 840000; good general purpose.
  • kl-f8-anime2 / blessed2 — tuned for anime and illustration: punchier colours, cleaner flat regions, crisp lineart.
  • SDXL VAE (sdxl-vae-fp16-fix) — the standard for SDXL. The fp16-fix variant avoids the black-image NaN bug on some GPUs.

A mismatched or missing VAE shows up as flat, desaturated output — the tell-tale “grey wash.”

Tips and download notes

  • Drop files in models/VAE/ (Automatic1111/Forge) or your ComfyUI models/vae/ folder, then refresh and select from the VAE dropdown.
  • Use Automatic first. Many modern checkpoints ship a good baked-in VAE; only override if the image looks washed out.
  • Match the architecture. SD 1.5 VAEs never work on SDXL and vice versa.
  • fp16-fix for SDXL on consumer GPUs. If you get pure-black images on SDXL, switch to sdxl-vae-fp16-fix — it solves the half-precision NaN problem.
  • All of these VAEs are hosted on Hugging Face (stabilityai and community repos); search the exact filename to find the canonical download.

What the VAE actually does in the diffusion pipeline

Stable Diffusion does not operate on pixels directly during the diffusion steps. Instead, the input image is first encoded into a compressed latent representation by the VAE encoder (a grid roughly 8× smaller than the image in each dimension). The diffusion model then works entirely in this smaller latent space — adding and removing noise over many steps. Only at the very end does the VAE decoder convert the final denoised latent back into RGB pixel values.

This design is why the VAE has such a large effect on visual quality: it is responsible for the final translation from abstract latent mathematics into the actual colours and textures you see. A well-tuned VAE recovers fine detail and accurate colour; a poorly matched one introduces colour shifts, blurriness, or loss of high-frequency texture.

SD 1.5 VAE options compared

For SD 1.5 checkpoints, three VAEs are commonly discussed:

sd-vae-ft-mse-840000 is fine-tuned with mean squared error loss on a large dataset. It produces the most natural-looking skin tones and is the safest default for photorealistic and portrait work. The “840000” in the name refers to the training steps.

vae-ft-mse (non-840k) is an earlier version of the same fine-tuning. It tends toward slightly stronger contrast and saturation, which some find more aesthetically pleasing for vibrant scene types but which can look slightly oversaturated on skin.

kl-f8-anime2 uses a KL divergence loss and is trained primarily on anime art. It produces cleaner, punchier colours with less muddiness in saturated regions and sharper linework — the right choice when your checkpoint is focused on illustration or anime styles.

The SDXL VAE fp16 NaN problem

SDXL uses its own VAE architecture that is incompatible with SD 1.5 VAEs. The official Stability AI VAE for SDXL works well on full float32 precision but can produce entirely black images on consumer GPUs running in fp16 mode. This is because certain intermediate values overflow to NaN in half-precision arithmetic during the decode. The community-created sdxl-vae-fp16-fix resolves this by adjusting normalization and activation layers to stay numerically stable in fp16. If you are running SDXL on a consumer GPU and seeing black outputs, this is almost certainly the fix you need.

Signs your VAE is wrong or missing

  • Colours are flat and greyish even with vivid prompts
  • Skin tones look muddy or olive regardless of lighting
  • Fine details like hair strands, fabric texture, or eye reflections are blurry
  • SDXL images come out pure black
  • The image looks correct but with an odd colour cast across the entire frame

Any of these symptoms points to trying a different VAE before adjusting prompts or sampler settings.