What weight painting does and why you need it
Weight painting controls how much each bone moves the mesh around it when you pose or animate your character. When you move an armature bone, Blender needs to know which vertices (the points that make up your mesh) should follow that bone, and by how much. Weight paint is the tool that tells it.
Without weight painting, moving a bone might move your entire character, or move nothing at all. With it, you can make an arm bend naturally at the elbow, keep the shoulder stable when the forearm moves, and prevent the mesh from collapsing or stretching in weird ways. Weight painting is what separates a rigged character that looks like a puppet from one that looks like it has joints.
The weights are stored as numbers from 0 to 1 on each vertex. A weight of 1 means that vertex follows the bone completely. A weight of 0 means it does not follow the bone at all. A weight of 0.5 means the vertex is influenced halfway. Most realistic deformation happens in the range between bones, where weights blend from one bone to another.
Key Takeaways
- Enter weight paint mode by selecting your mesh, then your armature, then pressing Ctrl+Tab and choosing Weight Paint Mode from the menu.
- Select the bone you want to paint for in the Outliner or by clicking its name in the Weight Paint properties panel on the right side of the screen.
- Paint with the brush to increase weight (red means full influence, blue means no influence), and hold Shift while painting to decrease weight.
- Use the Weights menu to clear weights, normalize them so they add up correctly, or copy weights from one bone to another.
- Test your weights by moving out of weight paint mode and posing the armature to see how the mesh deforms.
Setting up your mesh and armature before weight painting
Before you paint weights, make sure your mesh and armature are ready. Your mesh should be a single object (not multiple separate objects joined together), and your armature should have bones named clearly — "Arm.L", "Forearm.L", "Hand.L" is much easier to work with than "Bone", "Bone.001", "Bone.002".
Your mesh also needs to be parented to the armature with automatic weights. In object mode, select your mesh first, then your armature, then press Ctrl+P and choose "With Automatic Weights". Blender will create an initial weight map based on bone proximity — it is not perfect, but it gives you a starting point instead of starting from zero.
If you have already parented your mesh without automatic weights, you can still add them. Select the mesh, then the armature, press Ctrl+P, and choose "With Automatic Weights" again. Blender will overwrite the old parenting.
Entering weight paint mode and selecting a bone
To enter weight paint mode, select your mesh object in the viewport, then select your armature object, then press Ctrl+Tab. A menu will appear. Choose "Weight Paint Mode". Your mesh will turn into a gradient of colors — red where the selected bone has full influence, blue where it has no influence, and yellow and green in between.
On the right side of the screen, you will see a panel labeled "Weight Paint" or "Object Data Properties". Below that is a list of all the bones in your armature. Click the bone name you want to paint weights for. The mesh will update to show the influence of that bone — red areas will move when you move that bone, blue areas will not.
If you do not see the bone list, make sure you have the armature selected in the outliner on the right side of the screen, and that you are looking at the Object Data Properties panel (it looks like a bone icon). You can also select a bone by clicking directly on it in the viewport while in weight paint mode.
Painting weights with the brush
The brush works like a painting tool. By default, painting increases the weight (makes the area more red). Hold Shift while painting to decrease the weight (makes the area more blue). The brush size is controlled by the scroll wheel or by pressing F and dragging the mouse. The brush strength (how much weight changes with each stroke) is controlled by pressing Shift+F and dragging.
Paint on the areas of the mesh that should move with the bone. For an upper arm bone, paint the shoulder and upper arm area red. For a forearm bone, paint the forearm and hand area red, but paint the upper arm blue so it does not move when the forearm moves. The transition between bones should be gradual — a blend of red and blue — so the mesh bends smoothly instead of creasing.
Common brush types are available in the tool options. "Draw" adds weight, "Draw Sharp" adds weight with hard edges, and "Blur" smooths the transition between weights. You can switch between them by pressing X to flip between add and subtract, or by changing the brush type in the left panel.
Using the Weights menu to fix and normalize
The Weights menu (at the top of the viewport in weight paint mode) has tools that fix common problems. "Normalize All" makes sure that the weights on each vertex add up to 1 across all bones — this prevents mesh collapse or stretching. "Normalize" does the same thing but only for the currently selected bone. "Clear All Weights" removes all weights from the mesh so you can start over.
If you have painted weights that look good on one side of a symmetrical character, you can copy them to the other side. Select the bone, then go to Weights > Mirror Weights. Blender will flip the weights across the center line of your character. This only works if your bones are named with .L and .R suffixes (or similar symmetry naming) and if your mesh is centered at the origin.
"Invert" flips the selected bone's weights — red becomes blue and blue becomes red. This is useful if you painted the wrong area by accident. "Smooth" blurs the weights to remove hard edges and create smoother deformation.
Testing your weights by posing the armature
To see how your weights actually work, you need to pose the armature and watch the mesh deform. Press Tab to exit weight paint mode and return to object mode. Select the armature, then press Tab again to enter pose mode. Now you can rotate the bones and see how the mesh follows.
Rotate a bone by pressing R (for rotate), then X, Y, or Z to constrain rotation to an axis, then type a number like 45 and press Enter. Watch how the mesh deforms. If a bone pulls too much mesh, go back to weight paint mode and paint that area blue. If a bone does not pull enough mesh, paint it red.
Common problems: mesh collapsing or pinching at joints means the weights are too sharp or unbalanced — use Weights > Smooth or repaint the transition zone. Mesh stretching means a vertex is being pulled by multiple bones with conflicting weights — use Weights > Normalize All to balance them. A bone not moving any mesh means that area is painted blue — select that bone in weight paint mode and paint it red.
Copying and mirroring weights between bones
If you have already painted good weights for one bone and want to use them as a starting point for a similar bone, you can copy them. In weight paint mode, select the source bone (the one with good weights), go to Weights > Copy Weight to Selected, then select the target bone and the weights will transfer.
For symmetrical characters, mirroring is faster. Paint weights for the left side of your character, then select that bone and go to Weights > Mirror Weights. Blender will create matching weights on the right side automatically. This requires that your bones follow a naming convention — Blender looks for .L and .R, or _L and _R, or similar patterns.
If mirroring does not work, check that your mesh is centered at the world origin (press Shift+S in object mode and choose "Cursor to World Origin", then select your mesh and press Shift+S again and choose "Selection to Cursor"). Also check that your bone names actually include the symmetry suffix.
Frequently Asked Questions
How do I know if my weights are correct?
Exit weight paint mode, enter pose mode, and rotate each bone through its full range of motion. The mesh should deform smoothly without collapsing, stretching, or leaving gaps. If you see pinching at joints or mesh that does not follow the bone, go back to weight paint mode and adjust.
Can I paint weights on multiple bones at once?
No, you paint one bone at a time. However, you can use the Weights menu to copy weights from one bone to another, or use Mirror Weights to create symmetrical weights across both sides of a character at once.
What does the color gradient mean in weight paint mode?
Red means the selected bone has full influence (weight of 1) on that area. Blue means no influence (weight of 0). Yellow and green are in between. The exact colors depend on your theme, but red is always full influence and blue is always no influence.
Why does my mesh collapse when I move a bone?
The weights are probably unbalanced — vertices are being pulled by multiple bones with conflicting weights. Select your mesh in weight paint mode and go to Weights > Normalize All. This will rebalance all weights so they add up correctly and prevent collapse.
How do I undo weight painting mistakes?
Press Ctrl+Z to undo the last brush stroke. You can undo multiple times. If you have painted an entire bone wrong, select it and go to Weights > Clear Weights to remove all weights from that bone and start over.