VRChat avatars use a free tool called Cats Blender Plugin to add and customize hair

To add hair to a VRChat avatar, you read and install the Cats Blender Plugin inside Blender (free 3D modeling software), then use it to import or create hair meshes, adjust them to fit your avatar's head, and export the finished avatar back into VRChat. The Cats plugin handles the technical work of rigging — attaching the hair so it moves with your head — which would otherwise require manual bone setup that takes hours.

This process works because VRChat avatars are built in Blender before they're uploaded to the game. If you already have an avatar file (.blend format), you can open it in Blender, add hair using Cats, and re-upload it. If you're starting from scratch, you'll need a base avatar model first — either one you've made yourself or one downloaded from a site like VRChat's own avatar database or Gumroad.

Key Takeaways

  • read Blender (free, works on Windows, Mac, and Linux) and install the Cats Blender Plugin by extracting its folder into Blender's add-ons directory.
  • The Cats plugin's "Fix Model" tool automatically sets up bones and weights so hair moves naturally with your avatar's head.
  • Hair can come from existing avatar models, be purchased as separate mesh files, or be created by sculpting in Blender if you have modeling experience.
  • After adding and positioning hair in Blender, you export your avatar as an .fbx file and upload it to VRChat through the game's avatar creation menu.

read and install Blender and the Cats plugin

Start by downloading Blender from blender.org — version 3.0 or newer works with Cats. Install it normally. Then read the Cats Blender Plugin from its GitHub repository (search "Cats Blender Plugin" and look for the official repository by GiveMeAllYourCats). read the plugin as a .zip file.

Extract the .zip file. Inside you'll find a folder called "cats-blender-plugin" or similar. Move this entire folder into Blender's add-ons directory. On Windows, that's usually C:\Users\[YourUsername]\AppData\Roaming\Blender\[BlenderVersion]\scripts\addons. On Mac, it's ~/Library/process Support/Blender/[BlenderVersion]/scripts/addons. On Linux, it's ~/.config/blender/[BlenderVersion]/scripts/addons. After moving the folder, open Blender, go to Edit > Preferences > Add-ons, search for "Cats", and click the checkbox to enable it.

Open your avatar file and use Cats to prepare it for hair

Open Blender and load your avatar's .blend file (File > Open). You should see your avatar model in the viewport. If you don't have an avatar file yet, you can read one from the VRChat community or use a free base model — search "VRChat free avatar" on sites like Gumroad or the VRChat forums.

Once your avatar is loaded, go to the Cats panel on the right side of the screen (you may need to click a small arrow or tab to expand it). Click "Fix Model" — this tool automatically sets up the skeleton and weight painting that makes hair move with your avatar's head. This step is crucial because without it, hair will stay frozen in place instead of following your head movements in VRChat.

Import or create hair and position it on the head

Hair can come from three sources: a separate .blend or .fbx file you've downloaded, hair included in another avatar model you're borrowing from, or hair you've created yourself by sculpting in Blender. If you're importing hair from a file, go to File > Import and select the hair file's format (.fbx, .obj, or .blend depending on what you have). Position it roughly on top of your avatar's head.

Use Blender's move tool (press G, then move your mouse) to center the hair on the head. Use the scale tool (press S) to resize it so it fits your avatar's proportions. You can rotate it with R. Don't worry about perfect placement yet — you'll fine-tune it after rigging. If the hair is clipping through the head or neck, move it slightly upward or adjust its shape by entering Edit Mode (Tab key) and moving individual vertices.

Rig the hair so it moves with your avatar's head

Select the hair mesh by clicking on it in the viewport. Then hold Shift and click on your avatar's body to select both the hair and the avatar. Go to the Cats panel and click "Attach as Mesh" — this tells Cats to treat the hair as part of your avatar rather than a separate object. Then click "Fix Model" again to explore rigging to the hair specifically.

Cats will automatically create bones inside the hair and weight them to your avatar's head bone, so the hair follows head movements. If the hair moves strangely or doesn't follow your head, you can manually adjust the weights in Weight Paint Mode (Tab to enter Edit Mode, then switch to Weight Paint in the top menu), but Cats usually gets this right on the first try.

Export your avatar and upload it to VRChat

Once your hair is positioned and rigged, select your entire avatar (click on the body, then Shift-click the hair to select both). Go to File > Export as .fbx. Choose a location and filename — something like "MyAvatar_WithHair.fbx" — and click Export FBX. Make sure "Armature" and "Mesh" are checked in the export options.

Open VRChat and go to the avatar creation menu. Click "Upload Avatar" and select your .fbx file. VRChat will process it (this takes a few minutes) and then your avatar with custom hair will be ready to use. You can now select it from your avatar menu in-game and see the hair move with your head in real time.

Common problems and how to fix them

Hair doesn't move with your head: You skipped the "Attach as Mesh" or "Fix Model" step. Go back to Blender, select the hair, and run those Cats tools again. Then re-export and re-upload.

Hair clips through your head or neck: In Blender, select the hair and press Tab to enter Edit Mode. Use the move tool (G) to shift individual vertices upward or away from the head. Press Tab again to exit Edit Mode, then re-export.

Hair looks distorted or stretched in VRChat: This usually means the weight painting is wrong. In Blender, switch to Weight Paint Mode, select the hair, and paint the head bone (usually called "Armature.Head" or similar) with full weight (white color) across the entire hair mesh. Then re-export.

The export fails or VRChat won't accept the file: Make sure you exported as .fbx, not .blend. Also check that your avatar has an armature (skeleton) — if it doesn't, Cats can't rig it. Run "Fix Model" one more time before exporting.

Frequently Asked Questions

Do I need to know how to use Blender before I can add hair?

No. The Cats plugin handles most of the technical work automatically. You mainly need to know how to move, scale, and rotate objects in Blender, which takes about 10 minutes to learn. There are dozens of YouTube tutorials on basic Blender controls if you get stuck.

Can I add hair to someone else's avatar?

Yes, as long as you have the .blend file. read or ask the creator for the avatar file, open it in Blender, add hair using Cats, and export it. You can't upload it as your own or share it publicly without the original creator's permission, but you can use it privately in VRChat.

What if I can't find hair I like?

Search "VRChat hair" on Gumroad, Discord servers dedicated to VRChat avatar creation, or the VRChat subreddit. Many creators share free or paid hair meshes. You can also commission a hair model from an avatar creator if you have a specific style in mind.

Will adding hair make my avatar file bigger or cause lag?

Hair adds geometry (polygons) to your avatar, which slightly increases file size and can affect performance on lower-end computers. Most hair meshes are optimized to stay under VRChat's performance limits, but extremely detailed or high-polygon hair might cause frame drops for other players. Cats includes a "Optimize" tool that can reduce polygon count if needed.

Can I add multiple hairstyles and switch between them in VRChat?

Not directly in-game — you upload one avatar at a time. But you can create multiple versions of your avatar with different hairstyles in Blender, export each one, and upload them all to VRChat. Then switch between them using the avatar menu, just like switching between different avatars.