The Ultimate LoRA Tagging Guide: From Dirty Image to Perfect Model
If you're reading this, you already know: 80% of a LoRA's success isn't in the GPU—it's in the dataset. You can have the finest parameters in the world, but if your tags are a mess or your images are noisy, your model will learn garbage.
This guide is your practical "bible." We're going to dissect what, how, and with which tools to tag every pixel so your LoRA (whether for character, style, or concept) becomes a Civitai top pick.
1. Introduction: The Tag Zoo
In the training universe (especially for Danbooru-based models like SD 1.5, SDXL, or Illustrious), a tag isn't just a label—it's a surgical instruction.
The Golden Rule:
"Tag ONLY what you physically see in the image. Don't tag what's missing or assume context."
If an image is 1girl, blue hair, smiling and your character has dark blue hair, **don't put "dark hair"** unless you want the model to get confused. The LoRA learns from the difference between prompt and image. If the prompt says blue hair and the pixel is dark blue, the model will learn that "blue hair" = dark blue.
2. Essential Tools: Your War Kit
You don't need a supercomputer, but you do need the right tools.
A. TagGUI (The Swiss Army Knife)
Forget editing TXT files one by one. **TagGUI** (or forks like BooruDatasetTagManager or Taggui) is essential. It allows:
-Mass preview: See image + tags side by side.
-Search and replace: Change 1girl to 1woman in 100 files in 1 second.
- Filtering: See all images containing the tag "glasses" to verify correctness.
B. Auto-Tagging Models: WD14 or Florence?
You need a base so you don't start from scratch. Run these scripts locally:
1. WD14 Tagger (SmilingWolf): The industry standard for anime. Super fast, very accurate with Danbooru tags. Use for characters.
2. Florence-2 / Qwen2-VL: Larger models (require more VRAM). They're better for **styles** or natural language descriptions (useful for Flux or SD3.5).
Recommendation: Run WD14 with a high confidence threshold (0.65-0.75) to capture only the safe stuff, then use TagGUI to clean up.
3. Building the Dataset: Surgical Curation
Before applying a single tag, your images must be perfect. A poorly curated dataset produces a LoRA that overfits or "breaks" with other prompts.
Recommended Sizes (Based on Civitai guides):

Dimensions and Format
- Resizing: Use resize_images.zsh (from image-dataset-prep-tools) to set the short side to 1024px (for SDXL/Flux) or 768px (for SD 1.5). Images don't need to be square, but standardizing size helps.
- Format: .png (lossless) or .jpg quality 95%.
- Cleaning: Immediately delete images with text, watermarks, logos, or deformed fingers. That's garbage the model will replicate.
Power-up: If training a face, use a face detection script (like MediaPipe in "LoRA Dataset Architect") to properly center the character.
4. The Art of Tagging with TagGUI (Step by Step)
Let's dive deep into each type of LoRA with real-world examples and concrete use cases. The key is understanding **which tags to keep, which to remove, and how to structure them**.
Fundamental rule: Tags you DON'T put in your dataset will be "absorbed" by your trigger word. Tags you DO put will be modifiable during inference.
4.1 Character LoRA — Extended Example: "Makima from Chainsaw Man"
The Challenge
You want the model to faithfully recognize Makima—her face, her characteristic expression, and her hair—but you also want to be able to change her clothes, background, and pose.
Mandatory Tags (Always present in every image)
These tags describe the immutable physical traits of the character:
trigger_makima, 1girl, red hair, brown eyes, halo, braid
Optional Tags (Vary by image)
These tags change depending on what appears in each photo:

Concrete .txt file examples for different images:
Image 1: Full-body Makima standing in an office, wearing a suit with a serious expression:
trigger_makima, 1girl, solo, red hair, brown eyes, halo, braid, suit, black tie, white shirt, standing, full body, serious expression, office background, looking at viewer
Image 2: Close-up Makima, slightly smiling, simple background
trigger_makima, 1girl, red hair, brown eyes, halo, braid, close-up, slightly smiling, simple background, looking at viewer
Image 3: Makima sitting, side view, wearing casual clothes (black t-shirt)
trigger_makima, 1girl, solo, red hair, brown eyes, halo, braid, black t-shirt, sitting, from side, looking away, dark background
#### What tags should you NOT put and why?

Advanced strategy: Using "cosplay" for versatility
A useful trick documented by experienced trainers is to use the word cosplay to allow extreme outfit changes without losing character essence:
For images where the character wears non-canonical clothing
trigger_makima, cosplay, red hair, brown eyes, halo, braid, swimsuit, beach background
This teaches the LoRA that while the character has fixed traits, clothing can be anything without "breaking" identity.
The debate: Should you prune redundant tags?
Some trainers recommend completely removing tags like red hair and brown eyes from the dataset, so these traits are "absorbed" by the trigger word. This makes the LoRA easier to use (you don't need to specify hair color in every prompt), but also less flexible (you couldn't change hair color even if you wanted to).
Recommendation for beginners: Keep fixed visual tags. It gives you more control. Pruning is an advanced technique for very specific cases.
4.2 Style LoRA — Extended Example: "Impressionist Oil Painting"
The Challenge
You want the model to learn a complete aesthetic: thick brushstrokes, vibrant color palette, oil-on-canvas texture. The subject of the image should be interchangeable.
Tag structure (Fundamental)
[Trigger word], [Scene type], [Subject], [Stylistic details], [Composition]
Mandatory tags in EVERY image
The trigger word must be present in every .txt file:
impasto_oil_style
Stylistic tags that MUST be tagged
These tags describe the painting technique and should appear consistently:
oil painting, thick brush strokes, visible brushstrokes, textured canvas, vibrant colors, impressionist style
Concrete examples by image type:
Image 1: Still life
impasto_oil_style, still life, flower vase with sunflowers, thick brush strokes, vibrant yellows and greens, textured background, visible canvas texture, oil on canvas
Image 2: Landscape
impasto_oil_style, landscape, wheat field under cloudy sky, thick brush strokes, vibrant greens and blues, impressionist sky, textured foreground
Image 3: Portrait
impasto_oil_style, portrait, elderly woman with headscarf, thick brush strokes, warm earth tones, textured skin rendering, oil painting technique, visible brushwork
What tags should you NOT put in a style LoRA?

Advanced strategy: Regularization with images of other styles
To prevent the LoRA from "burning" the style onto every character (preventing combination with other LoRAs), some trainers recommend including **images of very different styles properly tagged** in the dataset:
-Regularization image (realistic photo)
realistic photo, portrait, man in suit, studio lighting
-Regularization image (line art)
line art sketch, flower, minimalist, black ink on white paper
This teaches the model what not to learn as part of the style.
4.3 Concept LoRA — Extended Example: "Rustic Wooden Chair"
The Challenge
You want the model to learn a specific rustic wooden chair: its proportions, leg type, finish, and details. Angle, lighting, and background should be variable.
Golden rule for concepts
The concept tag must be the FIRST and most important one**. The remaining tags describe permissible variations.
Tag structure
[trigger concept], [fixed attributes], [variable attributes], [context], [angle]
.txt file example for rustic chair:
**Image 1: Front-facing chair, white background, studio lighting
rustic_wooden_chair, 4 legs, crossed legs detail, brown wood, visible wood grain, curved backrest, natural finish, white background, front view, studio lighting
**Image 2: Side view chair in a room, with shadows
rustic_wooden_chair, 4 legs, brown wood, visible wood grain, curved backrest, natural finish, side view, living room background, warm lighting, cast shadows
**Image 3: Chair from above (bird's eye view), empty
rustic_wooden_chair, 4 legs, brown wood, visible wood grain, curved backrest, natural finish, seen from above, empty chair, hardwood floor, natural light
#### Fixed tags (must appear always)
These define the concept's identity:
rustic_wooden_chair, 4 legs, brown wood, visible wood grain, curved backrest
Variable tags (change per image)
# Angle
front view, side view, from above, from below, three quarter view
# Context
white background, room setting, outdoors, studio
# Lighting
studio lighting, natural light, warm lighting, harsh shadows
# State
empty chair, chair with cushion (if applicable)
What tags should you NOT put?

4.4 Multi-Outfit / Transformation Character LoRA
This is a common special case for video game or anime characters with multiple forms or outfits.
The Challenge
You want the LoRA to recognize the character in all transformations, but you also want to be able to invoke each specific outfit when needed.
Solution: Nested multiple trigger words
Organize your images into subfolders and use a tag structure like this:
# Default outfit (e.g., Makima's business suit)
trigger_makima, makima_default, suit, black tie, ...
# Alternative outfit 1 (e.g., school uniform)
trigger_makima, makima_school, school uniform, pleated skirt, ...
# Alternative outfit 2 (e.g., casual clothes)
trigger_makima, makima_casual, hoodie, jeans, ...
Practical example: Klaxosaur Princess (Darling in the Franxx)
Following techniques documented by trainers, the structure would be:
# Base form (pilot)
trigger_klaxosaur, pilot_suit, red bodysuit, helmet, ...
# Transformation 1 (Klaxosaur Princess form 1)
trigger_klaxosaur, klaxosaur_form_1, horns, glowing markings, white dress, ...
# Transformation 2 (Klaxosaur Princess form 2)
trigger_klaxosaur, klaxosaur_form_2, large horns, full body markings, ethereal glow, ...
```
Important note about training with multiple outfits
If you train the character "naked" (without clothes in some images), you don't need to use the word cosplay to achieve wardrobe versatility. But if all your images show the same outfit and you want to be able to change it, the multi-trigger process is necessary.
4.5 Real .txt File Examples (Inspired by Successful Models)
Below are examples based on real, well-rated LoRAs:
# Example 1: Maria Makabe (maid character)
maria_makabe, 1girl, solo, light purple hair, long hair, wavy hair, pink eyes, sparkling eyes, grumpy, pout, maid uniform, black dress, white ruffled apron, maid headdress, standing, looking at viewer, simple background
**Analysis of successful tags:**
- light purple hair (specific, not just "purple")
- pink eyes, sparkling eyes (captures the distinctive trait)
- grumpy, pout (key character expressions)
- Includes default outfit maid uniform), but keeps separate tags to allow clothing changes
Example 2: Milk-chan (game character)
M-chan, 1girl, solo, pale skin, brown hair, black sweater, black shorts, pixelart, outline, expressionless
**Important observations:**
- Trigger word M-chan (not Milk-chan) prevents a glass of milk from appearing in generations.
- Includes pale skin, brown hair explicitly because they are fixed traits.
- pixelart and outline are part of the character's aesthetic.
4.6 Summary of Best Practices for Tagging (With Examples)

4.7 Final Verification: Checklist Per Image
Before considering an image "ready for training," verify that its .txt file meets:
- Is the trigger word **at the beginning** of the file?
- Does each tag describe something **physically visible** in the image?
- Have I removed **duplicates** (e.g., "1girl" twice)?
- Have I removed **quality/metadata tags** absurdres, highres, anno)?
- Have I avoided **negative tags** blurry, bad anatomy) in the dataset?
- For characters: are fixed traits present **in every image** (or at least 90% of them)?
- Does the .txt filename match the image filename **exactly**?
5. Tag Configuration: Beyond the Basics
This is where beginners fail.
The Controversy of "Negative" Tags in the Dataset
**Don't put negative tags in the .txt file**. The .txt file is for what is there. A tag like blurry or bad anatomy inside the dataset confuses the trainer. Those go in the sampling prompt, not the dataset.
### Hierarchy and Automated Cleaning
Use scripts like process_txt_files.zsh to:
1. **Remove duplicates**: If "1girl" appears twice, training power is diluted.
2. **Standardize synonyms**: Convert blonde_hair to yellow hair if using a Danbooru-based model.
3. **Remove "Noise"**: Tags like absurdres, highres, anno (any tag describing AI quality or metadata from the original image) must be deleted.
6. Training: Kohya, OneTrainer, or Civitai
You now have your dataset folder, inside it a subfolder 100_myLora (the number is the repetition multiplier) with your .jpg images and their identically named .txt files.
Recommended Key Parameters
Based on expert training guides:

Shuffle Tags Configuration
**ENABLE SHUFFLE TAGS** in your trainer (Kohya/OneTrainer/Civitai). This prevents the model from learning a fixed word order. Without shuffling, the model might learn that red hair only works if it comes after 1girl and before smiling. Randomization forces the model to understand actual meaning, not position.
### Critical concepts:
- **Don't over-train**: If test images at epoch 8 already look great, stop there. Training more will only burn the model (overfitting).
- **No huge batch sizes**: With 8 or 12 GB of VRAM, Batch Size=2 is your friend. Use Gradient Checkpointing to save memory.
7. Executive Summary for Your Check-List
If you only want the cheat sheet for your next LoRA, copy this:
1. **Curation**: 50 images, short side 1024px, no text/watermarks.
2. **Auto-tag**: WD14 threshold 0.7.
3. **TagGUI**: Remove absurdres, duplicate 1girl, add trigger at the beginning.
4. **Tag config**: Enable Shuffle in the trainer (Kohya/OneTrainer).
5. **Training**: LR 5e-4, Rank 32, Optim AdamW8bit, Steps 1200
6. **Testing**: If generating with your trigger gives the correct face/style but the clothes stay fixed, **remove clothing tags from the dataset** (to make them optional).
With this, your Civitai profile will showcase consistently high-quality models. Now go smash those trainings!
---
Conclusion: Patience is Your Best Hyperparameter
Getting this far already puts you above 90% of LoRA creators. You've understood that **tagging isn't a boring step—it's the reverse engineering of art**: turning pixels into language that an AI can interpret.
Remember these three uncomfortable but liberating truths:
1. **Less is more**: A dataset of 40 perfectly tagged images will always beat 200 noisy, poorly tagged ones.
2. **The AI doesn't read your mind**: If you don't explicitly see "blurry background" (bokeh) in the image, don't tag it. If you see a scar, tag it. Every omission or mistake is a lesson your LoRA will learn literally.
3. **Tag shuffling is not optional**: Without it, your LoRA will learn that red hair only works if it comes after 1girl and before smiling. That destroys its ability to generalize.
**Final workflow for your next LoRA (pin this on your wall):**
> Curate → Resize → Auto-tag (WD14) → Clean with TagGUI (remove duplicates, quality tags, metadata) → Add trigger word at the beginning → Verify each .txt matches its .jpg → Train with shuffle tags enabled → Test at intermediate epochs → Don't over-train
The result? A LoRA that responds to complex prompts, doesn't break with every outfit or background change, and that the Civitai community will rate as "Exceptional."
Now go and train. Your pixels will thank you. 🚀
This guide was crafted for the Civitai community. Share it, improve it, and keep training awesome LoRAs.


