Learning how to mirror bones in Blender is a fundamental skill for any rigger. This technique saves significant time when rigging symmetrical characters, ensuring perfect left-right alignment for your armature.
Instead of manually creating and positioning each bone on both sides, mirroring lets you build one side and automatically generate the other. This guarantees symmetry, which is crucial for characters, creatures, and many mechanical models. It streamlines your workflow and reduces errors.
This guide will walk you through the core methods, from the simple tool to advanced techniques for complex rigs. You’ll learn how to fix common issues and apply these skills to real projects.
how to mirror bones in blender
The primary tool for this task is the Mirror tool, found in the Armature menu in Edit Mode. It’s straightforward but powerful. You’ll use this most often for basic symmetrical rigs like humanoids or animals.
Before you start, your armature’s center line must be correct. The mirror operation happens across the local X-axis of the armature object by default. Make sure your armature is positioned with its center at the model’s midpoint and that it’s not rotated oddly in Object Mode.
Preparing Your Armature for Mirroring
Good preparation prevents problems later. First, ensure your armature is in a neutral position. This means you should apply any rotations or scales in Object Mode before you begin rigging.
Enter Edit Mode on your armature. Delete any bones on the side you plan to mirror *from*. For example, if you have a full rig but want to redo it, delete the left-side bones if you are building from the right. Your work should start from one side of the center line.
Name your bones clearly. This is critical for mirroring to work correctly later with constraints. The standard convention is to use a suffix like “.R” for right and “.L” for left. Start by naming your initial bones with the appropriate suffix, like “upper_arm.R”.
Checking the Armature’s Orientation
Press ‘N’ to open the sidebar and go to the Item tab. Look at the cursor location. The armature’s origin (the small orange circle) defines the mirror plane. For a character facing the front view, this should be at the world center (0,0,0). If it’s not, you can select the armature in Object Mode, press Shift+S, and choose “Cursor to World Origin,” then set the armature’s origin to the 3D cursor.
Step-by-Step: Using the Mirror Tool
Follow these steps to mirror bones across the X-axis.
- Select your armature and enter Edit Mode.
- Select all the bones you want to mirror. You can press ‘A’ to select all if you only have bones on one side.
- Press ‘Shift+N’ to recalculate bone roll. This helps ensure proper orientation, though it’s not always nessesary.
- With the bones selected, press ‘Ctrl+M’ or go to Armature > Mirror in the 3D Viewport header.
- By default, it mirrors over the X-axis. You can also choose an axis from the operator panel that appears at the bottom left. The mirrored bones will appear on the opposite side.
The new bones will have the mirrored suffix. If your original bone was named “forearm.R”, the new one will be “forearm.L”. This automatic renaming is a huge time-saver.
Understanding Mirroring Behavior
The Mirror tool does more than just copy and flip bone positions. It also mirrors bone roll and other properties. This means the new bone will be a true mirror, ready for animation.
If you have bone constraints on the original bones, they will not be mirrored. You will need to add those to the new bones manually or use the Bone Constraints copy feature later. This is a common oversight for beginners.
Also, the tool respects bone relationships. If you have a connected chain of bones, the mirrored chain will also be connected. This maintains the integrity of your rig’s structure.
What About the X-Axis Mirror Option?
In the Armature tab in Edit Mode (in the sidebar, ‘N’ key), you’ll find a checkbox for “X-Axis Mirror.” This is a different, interactive mode. When enabled, any bone you create, extrude, or move on one side of the X-axis is automatically mirrored to the other side in real-time.
This is fantastic for building a symmetrical armature from scratch. You can literally watch the other side update as you work. It’s less useful for mirroring an existing, completed half of a rig, where the standard Mirror tool is better.
Advanced Mirroring Techniques
Once you master the basics, you can handle more complex rigging scenarios. These techniques give you greater control and are essential for professional workflows.
Mirroring Bone Constraints and Properties
Mirroring bones is only half the battle. A rig uses constraints like IK, Copy Rotation, or Limit Distance to function. Blender’s Mirror tool does not copy these.
You have two main options. The first is to manually add constraints to the mirrored bones, ensuring to target the correct mirrored bone. The second, faster method is to use the “Copy Constraints to Selected Bones” feature.
- In Pose Mode, select first the bone that *has* the constraints (e.g., “hand.R”).
- Then, while holding Shift, select the target bone that *needs* the constraints (e.g., “hand.L”). The active bone (last selected, lighter orange) should be the target.
- Go to Pose > Constraints > Copy Constraints to Selected Bones. This copies all constraints, but you must check and often flip the target bones or axes within each constraint’s settings.
Using the Symmetrize Function
Symmetrize is a more surgical tool found under Armature > Symmetrize in Edit Mode. It’s designed to make the selected bones symmetrical, but it works in a specific way.
It doesn’t just create a copy. It looks at the names of your bones. If you have bones named with “.R” and “.L”, you can select all and run Symmetrize. It will copy data from bones on one side to the other based on their names, effectively making the left side a mirror of the right or vice versa. This is perfect for correcting asymmetries in an already-mirrored rig where you’ve made edits to only one side.
Mirroring Bone Weights Automatically
After mirroring bones, you need to paint or transfer vertex weights to the new side. Doing this manually is tedious. Blender provides a superb solution.
- Select your meshed model in Object Mode.
- Go to the Object Data Properties panel (green triangle icon).
- In the Vertex Groups section, you’ll see all the groups linked to your bones.
- Select the vertex groups for the side you painted (e.g., all the “.R” groups).
- Click the “Mirror Vertex Group” button (two triangles icon). This will copy and flip the weights to the corresponding “.L” groups.
You must have correctly named, symmetrical vertex groups for this to work. Always check the results in Weight Paint mode, as complex areas like shoulders or hips might need minor touch-ups.
Common Problems and How to Fix Them
Even with a good process, things can go wrong. Here are solutions to frequent issues.
Mirrored Bones Are Fliued or Rotated Incorrectly
This usually stems from incorrect bone roll on the original bones. Bone roll defines the local Y and Z axis orientation of the bone.
To fix it, go back to Edit Mode on the original side. Select the problematic bone chain, press ‘Ctrl+N’ and choose “Align to Global Y” or “Active Bone” to standardize the roll. Then, delete the mirrored bones and run the Mirror tool again. Using ‘Shift+N’ (Recalculate Roll) on the original selection before mirroring can also prevent this.
Bones Mirror to the Wrong Location
If bones appear in a strange spot, check the armature object’s origin and rotation. The mirror operation uses the armature’s *local* axes, not the world axes. If your armature is rotated 90 degrees in Object Mode, mirroring on its local X-axis will give unexpected results.
Solution: In Object Mode, select the armature and press ‘Ctrl+A’ to apply its rotation and scale. Ensure its origin is at the center of symmetry. Then try again.
Missing or Incorrect Bone Names After Mirroring
The Mirror tool renames bones based on a suffix. If your original bone was named “Arm” without a suffix, the mirrored bone will also be named “Arm”, causing a duplicate name conflict. Blender might add “.001” or simply not rename it.
Always use clear suffixes like “.R”/”.L” or “_R”/”_L” from the start. If you forgot, you can batch rename them. In Edit Mode, go to the Armature menu in the header, select Batch Rename. You can replace “.R” with “.L” for selected bones, for instance.
Practical Application: Rigging a Human Arm
Let’s apply this knowledge to a common task: rigging a humanoid arm from the shoulder to the fingers.
- In Edit Mode, with X-Axis Mirror enabled, create the clavicle bone at the shoulder location on the right side. You’ll see a mirrored bone appear on the left.
- Extrude (‘E’ key) the upper arm, forearm, and hand bones for the right side. The mirrored bones update live.
- For fingers, it’s easier to build one complete finger on the right, name the bones (e.g., “finger_index.R.01”, “.02”, “.03”), then select that finger chain and use the Mirror tool (‘Ctrl+M’). Repeat for each finger.
- Switch to Pose Mode. On the right arm, add an IK constraint to the hand bone, targeting a new empty for the IK pole. Adjust the pole angle for the elbow.
- Select the left hand bone, then the right (making right active). Use Pose > Constraints > Copy Constraints to Selected Bones.
- Go into the new IK constraint on the left hand and change the target and pole target to their left-side counterparts (you may need to create mirrored empties).
- Finally, select the mesh, go to its Vertex Groups, select all the “.R” groups for the arm, and click “Mirror Vertex Group.”
This workflow combines several techniques for an efficient, symmetrical rig. Practice it to build muscle memory.
FAQ: Answering Your Mirroring Questions
Can I mirror bones in Pose Mode?
No, the primary Mirror and Symmetrize tools are only available in Edit Mode. This is because they affect the armature’s fundamental structure. You can copy constraints and properties between bones in Pose Mode, but the bones themselves must be created and mirrored in Edit Mode.
What’s the difference between Mirror and Symmetrize?
The Mirror tool creates new bones on the opposite side based on your current selection. Symmetrize is for correcting or enforcing symmetry between *existing* left and right bone pairs. It copies transforms (location, rotation) from one side to the other based on bone names. Use Mirror to create the other side, use Symmetrize to fix it later.
How do I mirror bone shapes (custom widgets)?
Bone custom shapes (widgets) are not automatically mirrored. If you want a symmetrical widget, you must create a symmetrical mesh object for the widget itself in the first place. When you assign it to both the .R and .L bones, it will display correctly on both sides. If your widget is asymmetrical, you would need to create a mirrored version of the mesh object and assign it seperately to the bone on the other side.
Why are my mirrored bones disconnected from the parent?
This can happen if the parent bone was not selected when you performed the mirror operation. The Mirror tool mirrors the parent-child relationships only for the bones in your selection. Always ensure you select the entire hierarchical chain you wish to mirror, from the parent down to the last child, to maintain connections. If they are disconnected, you can manually re-parent them in Edit Mode.
My mirrored weights look blocky or incorrect. What should I do?
The automatic vertex group mirroring is powerful but not perfect, especially in areas with complex geometry or overlapping influences. After mirroring weights, always enter Weight Paint mode and check seams, joints, and deformations. Use the blur and smooth brushes to clean up any harsh transitions. For absolute precision, you may need to manually adjust some vertices, but the mirror tool should handle 90% of the work correctly.