How to Rotate Raspberry Pi Screen or Display (and Touchscreen) Output

Screen upside down? No problem.
Zach Zach (248)
2 minutes

So you've just finished setting up your Raspberry Pi touchscreen, and it's upside-down. This guide will show you how to rotate or flip your Raspberry Pi's display and touchscreen output between landscape and portrait modes. This is useful if you want to display your Raspberry Pi screen output in portrait mode or if your screen is upside down!

This guide will also show you how to flip your screen (as if you're looking at it in a mirror), which is an odd request but might be necessary for some projects.

This should work for any display or touchscreen you might be using, including those on our list of the best touchscreens for the Raspberry Pi. If you need to know what resolution your Pi is outputting, check out this guide to look up your Raspberry Pi display resolution.

Raspberry PiRaspberry Pi ×1

Howchoo is reader-supported. As an Amazon Associate, we may earn a small affiliate commission at no cost to you when you buy through our links.

There are two methods for editing the boot/config.txt file required to change screen rotation:

SD card method

Put your Pi's SD card in your computer and open the /boot/config.txt file in a plain-text editor such as Notepad or Sublime Text.

Connect remotely

From your computer, open Terminal (Mac) or Command Prompt (Windows) and connect to your Raspberry Pi via SSH.

Then, run the following command to edit the file:

sudo nano /boot/config.txt

If you're using a touchscreen, skip this step.

If you have a value for dtoverlay that contains the rotate=90 command, change that value to your desired rotation:

dtoverlay=pitft35-resistive,rotate=90,speed=20000000,fps=20

Note: The dtoverlay value likely won't be the same as the lcd_rotate value. For example, the default "normal" screen rotation would be rotate=90, lcd_rotate=0. Therefore, you may need to test multiple configurations.

If you have no dtoverlay "rotate" value, insert one of the following values instead:

display_rotate=0 # Normal (landscape)
display_rotate=1 # 90 degrees (portrait, upside down)
display_rotate=2 # 180 degrees (landscape)
display_rotate=3 # 270 degrees (portrait, upside down)
display_rotate=0x10000 # horizontal flip
display_rotate=0x20000 # vertical flip

If you're using a touchscreen, you'll also need to adjust touchscreen rotation. Otherwise, your taps will all be on the wrong part of the screen! This will adjust both display and touchscreen rotation.

Insert one of the following values at the end of the file:

lcd_rotate=0 # default (normal landscape)
lcd_rotate=1 # 90 degrees (portrait, upside down)
lcd_rotate=2 # 180 degrees (landscape)
lcd_rotate=3 # 270 degrees (portrait, upside down)

Restart your Pi for things to take effect:

sudo reboot
Includes my own new minimal touchscreen stand!
John John (304)
30 minutes

If you're like me, you've got way more Raspberry Pi's than you have monitors. While I typically use a headless Pi for most projects, there are some that require a display.