# Change pivot or local origin of an object

How can I change the local origin of an object, without changing the object location in the world space.

This is the object located at position (0,0,0) in the world space

This is the same object located at position (0,1,0) in the world space, but with its local origin offset so that the object is in the same place

Is there a way to do this in a single step?

One way to do this is by entering Edit mode and placing the 3D cursor where you want the new origin. (When doing this, you can be very precise by selecting vertices, edges or faces and using them as guides. If you pick several points and snap the cursor to them using Shift+SCursor to Selected, Blender will use the average of the selected points to determine the new location of the cursor).

You then go back to Object mode and use Ctrl+Alt+Shift + COrigin to 3D Cursor to update or change the object origin to the location of the 3D cursor.

For 2.9+ you need to go to Object Menu, and select Set Origin > Origin to 3D Cursor.

• With all the attention this has gotten, this seems to be a good idea, rightclickselect.com/p/modeling/vqbbbc/interactive-pivot. Maybe someone with a little time on their hands could tackle it. :) Dec 22 '16 at 10:27
• For properly center object from blender for unity I was needed to place 3D cursor to the zero coordinates (0, 0, 0) and then place the center of mesh object using Origin to 3D Cursor. Mar 11 '17 at 9:11
• My pivot point has become rotated, how do I restore the rotation to be non rotated with respect to the rotation in world coordinates? Apr 6 '17 at 22:26
• @rien333 Best to ask a new question, not sure what you mean by "pivot point has become rotated". Apr 6 '17 at 22:29
• I would like to upvote your answer every time I need this. +4 till now.
– Izzy
Aug 3 '17 at 15:06

This is useful to have as a script, I wrote one back in 2011. It uses the 3d cursor but restores its original position.

A link to this script is here (includes all addon boilerplate) Once installed the script can be run from 3d view > space bar > Origin Move to Selected

This is the juicy bit:

def execute(self, context):
saved_location = bpy.context.scene.cursor_location.copy()
bpy.ops.view3d.snap_cursor_to_selected()

bpy.ops.object.mode_set(mode = 'OBJECT')
bpy.ops.object.origin_set(type='ORIGIN_CURSOR')
bpy.context.scene.cursor_location = saved_location

bpy.ops.object.mode_set(mode = 'EDIT')
return {'FINISHED'}


To bind this to a key combo:

• User Preferences > Input > 3D View > 3D View (Global) > New.
• Then fill in the text field with object.origin_to_selected and Blender will name the short-cut correctly. Then pick your short-cut keys:

More work up front, but convenient when used hourly.

• Very handy! I knew it could be done with scripting, but I'm new on that topic Jun 23 '13 at 12:11
• Very nice.. This should be part of Blender distribution. Jun 23 '13 at 14:42
• How can be added undo support? Jun 27 '13 at 15:11
• hmm, this might take a bit longer, i will let you know when I find time to add undo. it's not just a simple bl_options = {'REGISTER', 'UNDO'} Jun 27 '13 at 15:51
• @rraallvv the best way I know at the moment is, and this only works immediately after the origin switch.. is to go to object mode and hit undo. Jun 27 '13 at 21:30

In Blender 2.81 the transform tools can be restricted to only affect the origins, which allows to translate it directly.

1. Open the Options in the Tool Settings
2. In the Transform - Affect Only section check Origins
3. Select an object and adjust the origin using the shortcut G to move it. Alternatively you can also use the Move tool from the toolbar for the interactive gizmo.

• In addition to the above, I also use the "Snap to" tool and set it to "Edge" and "Closest" so that I get exact positioning of the origin to be at the very edge of the object (which is usually what most folks want when they move the origin). Dec 30 '19 at 2:58

In Object Mode, first select the Object you want to change the Origin. Then click Manipulate Center points (or Alt ,) It is the 3rd button on the right from the Object mode in the 3D header.
Switch to Edit Mode, if your Object is not selected, press A or A twice to select everything.
Move the selected object with the 3D manipulator. It works now relative to the center point. When you are done, go back to Object Mode and uncheck Manipulate Center points (or Alt ,).

• Sorry but you're wrong. The "manipulate center points" button only works with rotation, in "object" or "pose" modes. To move the pivot point of an object, this option is useless... However, manipulating the whole vertices of an object in "edit" mode will do the trick, as you said. Sep 1 '14 at 18:01