We hope you find this tutorial helpful. In addition to guides like this one, we provide simple cloud infrastructure for developers. Learn more →

How To Resize Your Droplets on DigitalOcean

Posted Mar 9, 2015 70.4k views DigitalOcean Scaling


Resizing your servers can be an effective way of increasing their capacity, by allowing them to utilize more memory (RAM), CPU, and disk storage. The ability to resize a server, also known as vertical scaling, can be useful in a variety of situations that prompt the need for a more powerful server, such as if your concurrent user base increases or if you need to store more data. In this tutorial, we will show you how to resize your server, also known as a Droplet, on DigitalOcean via the Control Panel and API.

Before diving right into resizing your Droplets, let's take a look at the different resize options that are available for Droplets.

CPU and RAM Only vs Disk, CPU, and RAM

There are two distinct options when performing a resize operation on DigitalOcean Droplets, CPU and RAM only and Disk, CPU, and RAM, and it is important to know the difference between them.

The Disk, CPU, and RAM resize option permanently increases a Droplet's RAM, CPU, and SSD disk. This is the only resize operation that will resize the base SSD storage available to your Droplet. To ensure the integrity of your server's data, this resize option can only increase the resources available to the server, meaning that you must choose a larger Droplet size. As previously stated, once the Droplet has been upgraded to a new size, it cannot return to its previous state.

The CPU and RAM only resize option adjusts the amount of CPU and RAM available to your Droplet, but does not affect the Droplet's storage capacity. Because there are no data integrity concerns that arise from disk resizing, this option can be used to easily scale the Droplet's RAM and CPU up and then back down as your resource requirements change. The initial Droplet disk capacity determines the lower limit of the resize. You also have the option to perform a permanent Disk, CPU, and RAM resize to "reclaim" the disk capacity that was left unallocated, following a CPU and RAM only resize, if you determine that you will no longer need to smaller size.

A good rule of thumb is to use the CPU and RAM only resize if you need more CPU and memory but not additional storage, and you want the ability to rollback to a less expensive Droplet size in the future. If you need more CPU, memory, and base storage, use the Disk, CPU, and RAM resize. If you need to be able to flexibly control all three of your resources, a combination of the CPU and RAM only resize and DigitalOcean Block Storage can give you great control when managing changing requirements.


Before resizing a Droplet, it must be powered off. The best way to do this is to log into your Droplet, and issue a sudo poweroff command. You may also perform a "hard" power off through the DigitalOcean Control Panel or API.

<!-- Another important thing to note is that certain Droplets in AMS1 may not be resizable. This can occur if the physical hardware the powers a Droplet does not have enough resources to resize to. If you run into this situation, you may attempt to use snapshots to resize a Droplet by following this tutorial: How To Resize Droplets Using Snapshots -->

Estimated Downtime

The estimated maximum downtime window for the resize process for a Droplet is: up to one minute per GB of used storage. For example, if your Droplet is using 20GB storage, the entire resize should take less than 20 minutes after it is initiated. The actual time of the process is typically very quick.

Now that we have the prerequisites out of the way, the next two sections will cover resizing your Droplet via the DigitalOcean Control Panel and API.

Resize via Control Panel

If you haven't already done so, log in to the DigitalOcean Control Panel.

In the Droplets page, click on the name of the Droplet you want to resize.

Next, click the Resize option on the left navigation section:

Resize Button

If you haven't done so already, power off your Droplet. The best way to do this is to log in to the server and issue a sudo poweroff command.

At this point, you will be presented with the resize control panel:


Select either CPU and RAM only or Disk, CPU, and RAM resizing, based on your needs and the considerations discussed earlier.

Next, select size that you would like to resize the Droplet to.

When you are satisfied with your resize selection, click the Resize button. This will initiate the resize event.

Once the resize event has been completed, your Droplet will be in a powered off state. Click the Power option on the left-hand navigation section, and then use the Power On button to get it back online:

Power On

Congratulations! You have resized your Droplet!

Read on if you would like to learn how to perform a Droplet resize using the API.

Resize via API

If you prefer to resize your Droplets via the DigitalOcean API, you must know the ID of the Droplet you want to resize, and the size you want to resize to. Of course, you will also need a DigitalOcean API token with read and write access.

Once you have the Droplet ID, you must use it with the Droplet actions API endpoint, and set the type attribute to "resize". You must also specify the size attribute to an acceptable Droplet size.

For example, if you want to make the API request using curl, you could use this command (substitute your API token, Droplet ID, and desired size) to perform a CPU and RAM only resize:

curl -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer b7d03a6947b217efb6f3ec3bd3504582' -d '{"type":"resize","size":"4gb"}' "https://api.digitalocean.com/v2/droplets/droplet_id/actions"

If you want to perform a Disk, CPU, and RAM resize, with the same options as the last example, set a disk attribute to true, like so:

curl -X POST -H 'Content-Type: application/json' -H 'Authorization: Bearer b7d03a6947b217efb6f3ec3bd3504582' -d '{"type":"resize","size":"4gb","disk":true}' "https://api.digitalocean.com/v2/droplets/droplet_id/actions"

This will initiate the resize process for the specified Droplet.

For full documentation about resizing a Droplet via the API, visit the DigitalOcean API documentation.


If you haven't done so, be sure to power on any Droplets that you have resized. Also be sure to check that all your services are running as expected.

If you have any issues, please leave them in the comments below!


Creative Commons License