Rotating Visio Shapes to an Arbitrary Degree

By stretch | Friday, January 28, 2011 at 7:36 p.m. UTC

Rotating shapes in Microsoft Visio is most conveniently done using the rotation handle (the circle which appears at the top of a shape's boundary when it is selected). We can rotate the shape by hand in increments of five degrees clockwise or counter-clockwise. However, this approach is limiting if we need to rotate a shape in increments smaller than five degrees.

Consider the scenario of a floor plan as pictured below. We need to attach the gray wireless access point shape to the midsection of the angled wall.


The midsection of the wall happens to be angled at 22.5 degrees (the halfway point between 0 and 45 degrees). We cannot rotate our shape to this exact degree by hand.


In order to achieve the necessary granularity, we'll need to specify the degree of rotation manually. To do this, select the shape and open the View menu. From the Task Panes button, select Size & Position.


This opens the Size & Position dialog in the bottom left corner. Here, we can enter the exact degree to which we want to rotate the shape. Prepend a negative sign for counter-clockwise rotations.


After specifying an angle of -22.5 degrees, we can set our access point flush against the wall.


About the Author

Jeremy Stretch is a network engineer living in the Raleigh-Durham, North Carolina area. He is known for his blog and cheat sheets here at Packet Life. You can reach him by email or follow him on Twitter.

Posted in Visio


Gd (guest)
January 28, 2011 at 9:23 p.m. UTC

I think you might be able to get more rotate granularity by dragging and holding the rotation handle farther away from the shape while rotating?

January 29, 2011 at 7:46 a.m. UTC

Yep, Gd is right. Also, zooming in help resolution as well...

January 29, 2011 at 9:43 a.m. UTC

You're such a visio hustler :P

I'm a fan of these posts though. Anything to make my diagrams look better.

January 30, 2011 at 9:57 p.m. UTC

Nice post. I believe GD is right. I keep zooming until I get the right rotation accuracy.

January 31, 2011 at 3:45 a.m. UTC

Yeah I suppose I should have thought of that. I came about this solution after googling for the answer. Oh well, hopefully it will help some poor soul who needs to rotate something to 37.29 degrees at some point.

February 1, 2011 at 9:11 p.m. UTC

Stretch, I'm the poor soul. I have the classic four switches with the X in between. I was trying to put the subnet text as the same angle as the line in between, and it wasn't working - so I resorted to no angle on the subnet text. But now, I have it rotated to -27.2553 degrees, and it looks great! So, you rock - you're always just a step ahead of me needing an answer. I really appreciate it.

Now, if you could keep the automatic connector from automatically rerouting around text, shapes, etc. when I get it just right but then want to add something else ...

July 9, 2011 at 8:24 p.m. UTC

@Brannen: You can prevent a connector from rerouting by modifying its behavior. Select the connector and open the behavior dialog (which is under the developer tab in Visio 2010 for some reason). Under the Connector tab, set Reroute to Never.

David (guest)
April 7, 2014 at 10:50 p.m. UTC

Stretch - thank you for this info. I've been struggling with aligning text boxes with shapes that are rotated to odd angles. Your tip here is awesome! I will use this a lot.

Gus (guest)
April 26, 2015 at 1:50 a.m. UTC

Trying to rotate by a few degrees a short horizontal wall glued in the middle of a perfectly vertical one (like a tumbled "T").

The rotation angle is always automatically reverted to 0ยบ.

I only can set what is supposed to be an "almost horizontal wall" to -2.5 degrees if it is long enough, but can't do it when it's short.

Ron (guest)
August 13, 2015 at 6:58 p.m. UTC

Works GREAT. Thank you.

Thank U (guest)
May 31, 2016 at 4:03 p.m. UTC

All of the office help pages that I reviewed could not answer my question correctly, but you did! And elegantly...

Comments have closed for this article due to its age.