Rotate a picture by a small number of degrees

Sometimes when I take a picture of a rectangular object, it comes out rotated by a small number of degrees (less than 5 or so).

I can make the space where the rectangle isn't white or whatever, but how can I select a non-rectangular (in the sense that it does not line up with the four ninety degree angles that I am given when I use a rectangular select tool), and rotate it by this small number of degrees?

Additionally, if I could "stretch" one end of the rectangle because it got skewed to match the height of the other one, that would be great. I realize that there will be some loss of resolution if it do it this way (though just as good would be a way to "compress" the other side, and that would not reduce the quality of the image).

I am pretty flexible on the program (GIMP, Paint.NET, Paint, and Visio), but I am open to downloading any free software that can do this.


In GIMP, select the whole picture or crop of the picture. Select the "Perspective Tool" (menu Tools -> Transform Tools -> Perspective), and adjust the skew , and rotations (see rotations next) by adjusting each of the 4 corners as needed. In GIMP 2 you can do this live and see the results, then hit transform to finish.

For small rotations, and better control of just the rotate, before or after adjusting the skew, use the "Rotate Tool" (menu Tools -> Transform Tools -> Rotate), which can again be rotated live, then transformed and has entry box for small rotation adjustments.


You can rotate by degrees in Paint by using the Skew command. Click Resize, and place a value in the horizontal and vertical fields.

To maintain the look of your image, use equal values, one negative and one positive.

For example:

Horizontal=10, Vertical=-10.

Irfan View is free and can rotate by up to 0.01 degrees.

However, since you mentioned stretching one end of the rectangle, it sounds like you're beginning to see the issues of camera lens distortion. Have a look at this page on barrel distortion - the examples really are worth 1,000 words (disclaimer: I'm the author of the page).


  • In Paint.NET, select "Move Selected Pixels" tool.
  • Select On Mouse Right Click and try moving your mouse left and right.
  • Your image starts rotating.

If you don't want to download anything - and if skewing isn't an issue - Microsoft Office's picture viewer will allow arbitrary (degree-level precision) rotations.

  • From Window Explorer, right click the image and Open with ... Microsoft Office 20xx
  • Select 'Picture/Rotate and Flip...' from the menu
  • Then, in the right hand pane, you'll notice the 'by degree' text box.