Learn how to set the screen resolution of your Raspberry Pi using the terminal and desktop interface.

Even though the Raspberry Pi tries to automatically work out the best resolution to use for a screen, this isn’t always a perfect science.
Displays can sometimes provide weird information back to the device that makes it difficult to work out the correct resolution.
With this guide, we will be showing you how you can manually set the resolution of your Raspberry Pi.
Setting the resolution can be done through both the desktop interface and the terminal.
Using the terminal, you will be shown how to use the Raspberry Pi configuration tool as well as how to modify the /boot/config.txt
file directly.
Equipment List
Here is a list of the equipment we recommend for this guide on setting the screen resolution of your Raspberry Pi.
Recommended
Optional
We tested this guide on the Raspberry Pi 3 and the Raspberry Pi 4 using the latest version of Raspbian Buster.
If you are not using Raspbian Buster, try upgrading to Buster by using our guide.
Changing the Screen Resolution using the Desktop
In this section we are going to show you how to set the resolution of the screen using the desktop utilities.
1. While on the desktop interface of your Raspberry Pi, click the icon in the top-left hand corner of the screen.
Clicking this icon will bring up the start menu.

2. Within the start menu, hover over “Preferences“.
Then click “Screen Configuration” to load the tool that we are after.

3. With the tool loaded on our Raspberry Pi, we can use it to change the resolution.
First, you need to right-click the display that you want to modify the resolution of (1.).
Next, hover over “Resolution” (2.).
Hovering over this will show you a selection of resolutions you can set for this current display. To select a resolution, click the one you want (3.)
Once you have chosen the resolution that you wish to use, you need to apply it by clicking the green tick button (4.)

4. To confirm this change, you will need to click the “OK” button within 10 seconds.
This timer helps when you make a change that your screen doesn’t like. If you run into issues, wait 10 seconds for the settings to automatically revert.

Changing the Screen Resolution using the Terminal
In this section, we will be showing you two different ways of setting the screen resolution for your Raspberry Pi using the terminal.
The first of these methods rely on the Raspberry Pi Configuration Tool. The second method directly modifies the /boot/config.txt
file.
Using the raspi-config Tool to Change the Resolution
1. To begin, open up the raspi-config tool by running the following command.
sudo raspi-config
2. Within the configuration tool, use the arrow keys to scroll down to 7 Advanced Options
.
Once selected, press the ENTER key to open the options page.

3. Now that we are in the “Advanced Options” settings page, we need to select the A5 Resolution
option.
With the option selected, press the ENTER key to open the page.

3. Here, you can select the resolution you want your Raspberry Pi to use.
Be sure that you select a resolution that your monitor can handle; otherwise it will not work correctly.

4. With a resolution selected, you can now exit out of the tool by pressing ESC.
When you go to exit the tool, you will be asked to restart your Raspberry Pi. Select “<Yes>” to restart your Pi and use the new resolution.

Once you Raspberry Pi has finished restarting, the device should now be using the resolution that you set.
If, for some reason, your screen will no longer display anything, try holding the SHIFT key during startup to revert to the default settings.
Modifying the Boot Configuration to Set the Resolution
It is also possible to set the resolution of your Raspberry Pi without using the desktop interface or the raspi-config tool.
To do this, we will need to modify the config.txt
file located in the /boot/
folder. You can edit this file directly on the SD card if you don’t have easy terminal access.
Please note that this section can be a little tricky as there is much more to take in.
1. Begin by modifying the /boot/config.txt
file.
If you are doing this on your Raspberry Pi, you can run the following command.
sudo nano /boot/config.txt
2. Next, you must work out if you want to use the CEA or DMT HDMI groups.
CEA stands for Consumer Electronics Association and is the display standard that is typically used on a TV.
This CEA HDMI group is represented by the number 1.
DMT stands for Display Monitor Timings and is the standard that is typically used by monitors.
The DMT HDMI group is represented by the number 2.
Depending on which one you use will dictate the settings you use in the next step.
Within this file, find and replace the following line.
Find
#hdmi_group=
Replace with
Use the replacement for the HDMI group that you intend to use. If you are unsure, you can see the supported resolutions in the tables below.
For the CEA Group
hdmi_group=1
For the DMT Group
hdmi_group=2
3. With the HDMI group chosen, we need to select the resolution.
We do this by modifying the hdmi_mode
variable in the config file.
Below we have a trimmed down table showing some of the more used resolution settings for the Raspberry Pi.
If you want to view the full hdmi_mode
table, then view the official Raspberry Pi Video documentation.
Use this table to find the “hdmi_mode
” value for your resolution that is required for the next step.
CEA Display Resoluton Modes
hdmi_mode | Resolution | Aspect Ratio | Refresh Rate | Notes |
---|---|---|---|---|
1 | 640×480 | 4:3 | 60hz | |
2 | 720×480 | 4:3 | 60hz | |
4 | 1280×720 | 16:9 | 60hz | |
16 | 1920×1080 | 16:9 | 60hz | |
16 | 1920×1080 | 16:9 | 60hz | |
16 | 1920×1080 | 16:9 | 60hz | |
95 | 3840×2160 | 16:9 | 30hz | Raspberry Pi 4 Only. Use this when dealing with two 4k displays. |
97 | 3840×2160 | 16:9 | 60hz | Raspberry Pi 4 Only. To use this hdmi_enable_4kp60=1 must be set in /boot/config.txt . |
DMT Display Resoluton Modes
hdmi_mode | Resolution | Aspect Ratio | Refresh Rate |
---|---|---|---|
2 | 480p | 4:3 | 60hz |
9 | 800×600 | 4:3 | 60hz |
16 | 1024×768 | 4:3 | 60hz |
85 | 1280×720 | 16:9 | 60hz |
35 | 1280×1024 | 5:4 | 60hz |
51 | 1600×1200 | 4:3 | 60hz |
82 | 1920×1080 | 16:9 | 60hz |
4. Once you have found the hdmi_mode
number for your resolution, we can now go ahead and set it in the boot configuration file.
Find
#hdmi_mode=
Replace with
Make sure that you replace [YOURHDMIMODE]
with the number you found using our tables above.
hdmi_mode=[YOURHDMIMODE]
6. Once you have set the HDMI mode and group, we can now save the file by pressing CTRL + X, then Y, followed by the ENTER key.
7. Now to apply the new resolution to your Raspberry Pi, you need to restart it using the command below.
sudo reboot
7. If for some reason your display stops working after the change you can try holding the SHIFT key during startup.
Using this key will make the Raspberry Pi ignore our boot configuration file and load up with the default settings.
At this point in the guide, you should now have successfully managed to change the resolution on your Raspberry Pi.
If you have run into any issues with this guide, feel free to drop a comment below.
This is sort of handy… but if you don’t have a screen connected, you can’t actually make the resolution larger than 320×200 when logged in via TeamViewer.
Emmet!!
So far you are the ONLY resource that comes even close to helping… So THANK YOU!
The above said, my display is a ROKU TCL TV (model number 43S423. The resolution is 3840 x 2160 (in your instructions, 95).
I’ve attempted everything possible to make this work, and the display still will not configure to fit the display. Please, please help!!
Thank you again, SO MUCH!
Hi Liz,
So, is the Raspberry Pi outputting to the screen? Some TV’s/monitors handle it all a bit weirdly. Does the image almost fit the screen? You may have to consider setting underscan/overscan.
Additionally, you could try using the desktop tool when configuring the resolution.
Cheers,
Emmet
I am attempting to use a small VGA monitor via an HDMI to VGA converter. Setting the group to 2 and the mode to 16 shows the boot up screen (i.e. Welcome to Raspberry Pi), then flickers and displays “mode not supported.” It seems as if the config.txt settings take effect until the unit fully boots, then another mode or timing is entered. Suggestions?
Hi Rob,
New versions of Raspberry Pi OS handled certain display things such as the resolution a bit differently. May I ask what version of Raspberry Pi OS are you using?
What I reckon is happening is that when the OS boots it is trying to set a resolution higher than what your device supports.
Cheers,
Emmet
Works like a charm. set hdmi_group=1 and hdmi_mode=4 on my Samsung TV & RPi 2 B+
This is sooooooooo useful! Big gigantic thank!
This helped a ton! Thank you.
This looks to be a typo:
“Replace with
Make sure that you replace [YOURHDMIMODE] with the number you found using our tables above.
hdmi_group=[YOURHDMIMODE]”
it’d be “hdmi_mode=[YOURHDMIMODE]” not
Hi Will,
Thank you for pointing out that typo.
I have now corrected that in the tutorial.
Cheers,
Emmet