Skip to content
,

ComfyUI Model Folder Cheat Sheet: Where Every Model File Goes (2026)

9โ€“13 minutes

The most common reason a ComfyUI workflow fails is not a bug. It is a model file sitting in the wrong folder. You download a 12 GB file, drop it into checkpoints, and the loader node shows nothing, or you get a red “value not in list” error. This cheat sheet fixes that for good. It lists every ComfyUI model folder, which loader node reads it, what kind of file goes there, and how to tell from a file name where it belongs. It also has a quick-reference table of exact paths for the popular 2026 models (Qwen Image 2.1, FLUX 3 Klein, Krea 2, MiniMax H3, MOSS-Image, Anima and more), plus GGUF files, custom node folders and how to share one model folder between several installs. Bookmark it; you will come back to it.

TL;DR

  • Full models with everything inside (old SD 1.5 / SDXL style) go in ComfyUI/models/checkpoints/.
  • Modern split models (FLUX, Qwen Image, Krea 2, MiniMax H3) use three folders: diffusion_models, text_encoders and vae.
  • LoRAs go in ComfyUI/models/loras/. Upscalers go in ComfyUI/models/upscale_models/.
  • GGUF diffusion models go in ComfyUI/models/unet/ and need the ComfyUI-GGUF node pack.
  • Model not showing up? Check the folder, then press R in ComfyUI (or restart) to refresh the lists.
  • Several installs? Share one model folder with extra_model_paths.yaml instead of copying files.

Where Is the ComfyUI Models Folder?

Every model lives under one models folder. Where that folder is depends on how you installed ComfyUI:

Install type Models folder
Windows portable ComfyUI_windows_portable\ComfyUI\models\
Manual install (git clone) ComfyUI/models/ inside the folder you cloned
Comfy Desktop app The models folder inside the base folder you picked during setup (Settings shows the path)
Linux / cloud GPU Usually ~/ComfyUI/models/ or /workspace/ComfyUI/models/

In this guide, every path starts with ComfyUI/models/. On the portable build, put ComfyUI_windows_portable\ in front of it.

Master Table: Every Model Folder

These are the folders a current ComfyUI install creates or understands. The core ones come with ComfyUI itself; a few newer ones appear when you update.

Folder What goes in it Example file
checkpoints All-in-one models that bundle the diffusion model, text encoder and VAE (SD 1.5, SDXL and similar), plus a few special models some workflows load this way sd_xl_base_1.0.safetensors
diffusion_models The main image or video model on its own (also called the UNet or transformer) qwen_image_2.1_int8_convrot.safetensors
unet Older name for the same thing. Still read by ComfyUI; the usual home for GGUF diffusion models flux1-fill-dev-Q4_0.gguf
text_encoders Text encoders: T5, CLIP-L, Qwen, Gemma and similar qwen3vl_8b_int8_convrot.safetensors
clip Older name for text_encoders. Both are read clip_l.safetensors
vae VAEs that turn latents into pixels (and audio VAEs for audio models) flux2-vae.safetensors
loras LoRAs and LyCORIS adapters, including step-distill and turbo LoRAs krea2_turbo_3step_rank_64_lora_comfyui.safetensors
upscale_models Pixel upscalers (ESRGAN family and similar) 4x-UltraSharp.pth
latent_upscale_models Upscalers that work on latents instead of pixels minimax_h3_latent_upscaler_3d_conv_v1_bf16.safetensors
controlnet ControlNet and T2I-Adapter models a ControlNet union model
model_patches Newer patch-style control models that load onto a model minimax_h3_fun_controlnet_union_pruned_int8_convrot.safetensors
clip_vision Image encoders used by IP-Adapter, Redux, 3D and reference workflows dino_v3_L_naf_fp32.safetensors
style_models Style models such as FLUX Redux a Redux style model
embeddings Textual inversion embeddings, used in prompts as embedding:name a negative embedding
vae_approx Tiny preview decoders (TAESD) for fast live previews TAESD files
hypernetworks Old SD 1.5 hypernetworks (rarely used now)
gligen GLIGEN box-conditioning models (rare)
photomaker PhotoMaker models
diffusers Models in the folder-based diffusers format a folder, not a single file
configs YAML configs for old checkpoints. You rarely touch this

If a folder in a guide does not exist on your PC, you can simply create it. ComfyUI reads any of the folder names above.

Which Loader Node Reads Which Folder

When a dropdown in a node is empty, look at which folder that node reads:

Node Reads from
Load Checkpoint ComfyUI/models/checkpoints/
Load Diffusion Model (UNETLoader) ComfyUI/models/diffusion_models/ and ComfyUI/models/unet/
Load CLIP, DualCLIPLoader, TripleCLIPLoader ComfyUI/models/text_encoders/ and ComfyUI/models/clip/
Load VAE ComfyUI/models/vae/
Load LoRA, LoraLoaderModelOnly ComfyUI/models/loras/
Load Upscale Model ComfyUI/models/upscale_models/
Load ControlNet Model ComfyUI/models/controlnet/
Load CLIP Vision ComfyUI/models/clip_vision/
Load Style Model ComfyUI/models/style_models/
Unet Loader (GGUF) ComfyUI/models/unet/ (ComfyUI-GGUF pack)
CLIPLoader (GGUF), DualCLIPLoader (GGUF) ComfyUI/models/text_encoders/ or ComfyUI/models/clip/ (ComfyUI-GGUF pack)

A common mistake is putting a diffusion-only file in checkpoints and using Load Checkpoint. That fails, because the file has no text encoder or VAE inside. Use Load Diffusion Model instead.

Checkpoint vs Split Models: The Big Difference

Older Stable Diffusion models shipped as one file that held all three parts. One Load Checkpoint node gave you MODEL, CLIP and VAE outputs.

Almost every big model since FLUX ships split. The diffusion model is huge, and the text encoder is shared between many models, so they come as separate files:

ComfyUI/models/diffusion_models/   the main model (Load Diffusion Model)
ComfyUI/models/text_encoders/      the text encoder (Load CLIP)
ComfyUI/models/vae/                the VAE (Load VAE)

The upside is that you download a shared text encoder or VAE only once. For example, qwen_image_vae.safetensors is used by Krea 2, Anima and other models, and flux2-vae.safetensors is shared by several FLUX-family models.

How to Tell the Folder From the File Name

Model authors usually hint at the folder in the name. Use these rules when a download page does not say:

If the name contains… It probably goes in
vae, ae.safetensors, dav vae
t5, umt5, clip_l, clip_g, qwen_2.5_vl, qwen3vl, qwen_3_4b, gemma, text_encoder text_encoders
lora, rank_64, r32, _steps_, turbo_8step loras
4x, 2x, ESRGAN, UltraSharp upscale_models
controlnet, union (as a control model) controlnet (or model_patches if the guide says so)
dino, siglip, clip_vision, image_encoder clip_vision
_bf16, _fp8, _int8, nvfp4 on a big model name with none of the above diffusion_models
a single 2 to 7 GB SD 1.5 or SDXL file checkpoints
.gguf on a diffusion model unet

The precision suffix tells you nothing about the folder. bf16, fp16, fp8_scaled, int8_convrot and nvfp4 only describe how the weights are stored.

Quick Reference: Exact Paths for Popular 2026 Models

These are the paths we have used in our own model guides. Each row links to the full guide.

Image models

Model Files and full paths
Qwen Image 2.1 ComfyUI/models/diffusion_models/qwen_image_2.1_int8_convrot.safetensors
ComfyUI/models/text_encoders/qwen3vl_8b_int8_convrot.safetensors
ComfyUI/models/vae/qwen_image_2.1_vae_bf16.safetensors
Krea 2 Turbo ComfyUI/models/diffusion_models/krea2_turbo_bf16.safetensors
ComfyUI/models/text_encoders/qwen3vl_4b_bf16.safetensors
ComfyUI/models/vae/qwen_image_vae.safetensors
Anima ComfyUI/models/diffusion_models/anima-base-v1.0.safetensors
ComfyUI/models/text_encoders/qwen_3_06b_base.safetensors
ComfyUI/models/vae/qwen_image_vae.safetensors
Z-Image Turbo ComfyUI/models/diffusion_models/z_image_turbo_bf16.safetensors
ComfyUI/models/text_encoders/qwen_3_4b.safetensors
ComfyUI/models/vae/ae.safetensors
FLUX 3 Klein ComfyUI/models/diffusion_models/flux3-image-klein-int8-convrot.safetensors
ComfyUI/models/text_encoders/qwen3vl_4b_int8_convrot.safetensors
ComfyUI/models/vae/flux2-vae.safetensors
MOSS-Image See the full guide: the diffusion model, Qwen text encoder and flux2-vae_small VAE use the same three-folder layout

Video, audio and 3D

Model Files and full paths
MiniMax H3 video ComfyUI/models/diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors
ComfyUI/models/loras/minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors
ComfyUI/models/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors
ComfyUI/models/vae/minimax_h3_video_vae_fp16.safetensors
ComfyUI/models/vae/minimax_h3_audio_vae_fp32.safetensors
MiniMax H3 latent upscaler ComfyUI/models/latent_upscale_models/minimax_h3_latent_upscaler_3d_conv_v1_bf16.safetensors
MiniMax H3 motion control ComfyUI/models/model_patches/minimax_h3_fun_controlnet_union_pruned_int8_convrot.safetensors
ComfyUI/models/checkpoints/sdpose_wholebody_fp16.safetensors
ACE-Step 1.5 music ComfyUI/models/diffusion_models/acestep_v1.5_xl_turbo_bf16.safetensors
ComfyUI/models/text_encoders/qwen_0.6b_ace15.safetensors
ComfyUI/models/vae/ace_1.5_vae.safetensors
Stable Audio Open (SFX) ComfyUI/models/checkpoints/stable-audio-open-1.0.safetensors
ComfyUI/models/text_encoders/t5-base.safetensors
TRELLIS.2 image to 3D ComfyUI/models/diffusion_models/trellis_2_int8_convrot.safetensors
ComfyUI/models/vae/trellis_2_shape_vae_bf16.safetensors
ComfyUI/models/vae/trellis_2_texture_vae_bf16.safetensors
ComfyUI/models/clip_vision/dino_v3_L_naf_fp32.safetensors

Tools

Tool Full path
4x UltraSharp upscaler ComfyUI/models/upscale_models/4x-UltraSharp.pth
BiRefNet background removal ComfyUI/models/background_removal/birefnet.safetensors
LaMa eraser (comfyui-inpaint-nodes) ComfyUI/models/inpaint/big-lama.pt
SAM 3 segmentation ComfyUI/models/checkpoints/sam3.1_multiplex_fp16.safetensors
MoGe geometry (Pixal3D) ComfyUI/models/geometry_estimation/moge_2_vitl_normal_fp16.safetensors

Where GGUF Files Go

GGUF is a compressed format (Q8_0, Q6_K, Q5_K_M, Q4_K_M and so on) that makes big models fit on smaller GPUs. ComfyUI does not load GGUF on its own. You need the ComfyUI-GGUF pack by city96:

cd ComfyUI/custom_nodes
git clone https://github.com/city96/ComfyUI-GGUF
pip install -r ComfyUI-GGUF/requirements.txt

On the Windows portable build, install the requirement with the embedded Python:

python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-GGUF\requirements.txt

Then:

  • GGUF diffusion models go in ComfyUI/models/unet/, for example ComfyUI/models/unet/flux1-fill-dev-Q4_0.gguf. Load them with Unet Loader (GGUF).
  • GGUF text encoders go in ComfyUI/models/text_encoders/ (or clip), for example ComfyUI/models/clip/t5-v1_1-xxl-encoder-Q5_K_M.gguf. Load them with CLIPLoader (GGUF) or DualCLIPLoader (GGUF).
  • The VAE stays a normal .safetensors file in ComfyUI/models/vae/.

Not sure which quant to download? Our GGUF quantization guide explains Q4_K_M vs Q5_K_M vs Q8_0 and how to match them to your VRAM, and the MiniMax H3 GGUF workflow shows a real example.

Folders Created by Custom Nodes

Many custom node packs add their own folder under ComfyUI/models/. Always check the pack’s README, but these are the usual ones:

Folder Used by
ipadapter IP-Adapter packs (IP-Adapter models; the image encoder still goes in clip_vision)
inpaint comfyui-inpaint-nodes (LaMa, MAT, Fooocus inpaint)
sams, sam2 Segment Anything packs
ultralytics/bbox, ultralytics/segm Impact Pack face and person detectors
insightface Face analysis models for face swap and ID nodes
facerestore_models Face restore nodes (GFPGAN, CodeFormer)
background_removal BiRefNet and similar cut-out models
LLM Some prompt-helper packs that run a local language model

The custom node code itself never goes in models. It goes in ComfyUI/custom_nodes/<pack-name>/, usually by git clone or through ComfyUI Manager.

Using Subfolders to Stay Organised

You can make subfolders inside any model folder, and ComfyUI shows them in the dropdown as subfolder/file.safetensors:

ComfyUI/models/loras/
  krea2/
    krea2_turbo_3step_rank_64_lora_comfyui.safetensors
  qwen-image/
    p_q_image_2.1_6_steps_v0.2_comfyui_bf16.safetensors
  minimax-h3/
    minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors

One catch: a shared workflow saves the full name, including the subfolder. If you load someone else’s workflow and the file is in a different subfolder on your PC, just pick it again in the dropdown.

Share One Model Folder Between Installs

If you run the portable build and Comfy Desktop, or ComfyUI and another app, do not keep two copies of 100 GB of models. ComfyUI can read extra folders listed in extra_model_paths.yaml.

  1. In your ComfyUI folder, find extra_model_paths.yaml.example.
  2. Copy it and rename the copy to extra_model_paths.yaml.
  3. Add a section that points at your shared folder:
shared:
    base_path: D:/AI/models/
    checkpoints: checkpoints/
    diffusion_models: |
        diffusion_models
        unet
    text_encoders: |
        text_encoders
        clip
    vae: vae/
    loras: loras/
    upscale_models: upscale_models/
    controlnet: controlnet/
    clip_vision: clip_vision/
  1. Restart ComfyUI. Files from the shared folder now appear next to the local ones.

Use forward slashes in the YAML even on Windows, and keep the indentation exact. Another option on Windows is a folder link, made in an administrator Command Prompt:

mklink /D "C:\ComfyUI_windows_portable\ComfyUI\models\loras" "D:\AI\models\loras"

Delete or rename the original loras folder first, because the link needs the name to be free.

Model Not Showing Up? Checklist

  1. Right folder? Check the loader table above. Diffusion-only files do not work in Load Checkpoint.
  2. Right install? Many people have two ComfyUI folders and copy files into the one they are not running. The console shows the base path at startup.
  3. Refreshed? Press R in the ComfyUI window to refresh the model lists, or restart.
  4. Download finished? A partial download shows as a smaller file or ends in .part or .crdownload. Compare the size with the download page.
  5. Right extension? Files must end in .safetensors, .ckpt, .pt, .pth, .bin or .gguf. Some browsers add .txt or strip the extension.
  6. GGUF without the pack? GGUF files only show in the GGUF loader nodes after ComfyUI-GGUF is installed.
  7. “Value not in list” on a shared workflow? The workflow expects an exact file name. Click the dropdown and pick your file.
  8. Error while deserializing header? The file is corrupt or not really a safetensors file (often an HTML error page saved with the model’s name). Download it again.

For the full list of error messages and fixes, see our ComfyUI errors and fixes guide.

FAQ

Is diffusion_models the same as unet?

Yes. unet is the older name. Current ComfyUI reads both for Load Diffusion Model. Use diffusion_models for safetensors files and unet for GGUF files to match most guides.

Is text_encoders the same as clip?

Yes, clip is the older name and both are read. New guides use text_encoders.

Where do I put a .ckpt file?

If it is a full SD 1.5 or SDXL model, in ComfyUI/models/checkpoints/. Prefer the .safetensors version when one exists, because .ckpt files can contain code.

Where do embeddings go and how do I use them?

In ComfyUI/models/embeddings/. Write embedding:filename in the prompt, without the extension.

Can I rename model files?

Yes. ComfyUI does not care about the name. But shared workflows look for the original name, so keeping it saves you re-selecting files.

Do I need to restart after adding a model?

No. Pressing R refreshes the lists. New custom node packs, however, do need a full restart.

Final Thoughts

Once you know the pattern, ComfyUI’s folders are simple: one-file models go in checkpoints, split models use diffusion_models, text_encoders and vae, add-ons go in loras, and GGUF files go in unet with the GGUF pack. Use the quick-reference tables when you set up a new model, the file-name rules when a download page is vague, and extra_model_paths.yaml once your collection outgrows one drive.

More ComfyUI guides:

Sources