Custom Images

Custom images are Linux and Unix-like images you import to DigitalOcean. You can create Droplets based custom images, which lets you migrate and scale your workloads without spending time recreating your environment from scratch.

Plans and Pricing

Custom images are free to upload and charged at $0.05 GB per month to store. There is no additional charge to add an image to additional regions.

When you create Droplets from a custom image, pricing is based on the Droplet price with no additional fees.

Regional Availability

Custom images are available in all regions.

You can create Droplets from custom images in any region where you’ve added the image.


Once you upload a custom image to your DigitalOcean account, you can create Droplets based on that image. When you upload a custom image, you select a region for it to be available in. You can create Droplets based on a custom image in that region, and you can make your custom image available in additional regions at any time.

You can find cloud-friendly official Unix-like OS images on OpenStack or create your own with your preferred VM software.

Image Requirements

Images you upload to DigitalOcean must meet the following requirements:

  • Operating system. Images must have a Unix-like OS.

  • File format. Images must be in one of the following file formats:

  • Size. Images must be 100 GB or less when uncompressed, including the filesystem.

  • Filesystem. Images must support the ext3 or ext4 filesystems.

  • cloud-init. Images must have cloud-init 0.7.7 or higher, cloudbase-init, coreos-cloudinit, ignition, or bsd-cloudinit installed and configured correctly. If your image’s default cloud-init configuration lists the NoCloud datasource before the ConfigDrive datasource, Droplets created from your image will not function properly.

    Click here to display detailed cloud-init instructions.

    If your image’s default cloud-init configuration lists the NoCloud datasource before the ConfigDrive datasource, Droplets created from your image will not function properly. We have detailed instructions on reconfiguring cloud-init for Ubuntu 18.04.

    The process for fixing this in general is to edit the cloud-init config file either using a text editor or with dpkg-reconfigure to order the datasources correctly. The actual line in the file should look similar to this when you’re done:

    datasource_list: [ ConfigDrive, OpenNebula, DigitalOcean, Azure, AltCloud, OVF, MAAS, GCE, OpenStack, CloudSigma, SmartOS, None, NoCloud ]

    After you edit the file, you need to purge the previous cloud-init data so cloud-init will run using the proper datasource when your Droplet boots. You can do this using cloud-init clean or by manually cleaning out /var/lib/cloud. You should also verify the networking configuration, the details of which will vary by distribution.

  • SSH configuration. Images must have sshd installed and configured to run on boot. If your image does not have sshd set up, you will not have SSH access to Droplets created from that image unless you recover access using the Recovery Console.

You can also upload a custom image that meets the above criteria as a compressed gzip or bzip2 file.


  • Images must be less than 100 GB uncompressed.

  • Windows images are not supported.

  • ISO images are not currently supported, but we’re considering ISO support in the future. In the interim, if you have an ISO image you want to use, you can create a new image using your VM software of choice and save it again in a supported format. For a detailed walkthrough, see How to Create a DigitalOcean Droplet from an Ubuntu ISO Format Image.

  • Unlike stock images provided by DigitalOcean, Droplets created from custom images use DHCP to obtain an IP address from the DigitalOcean platform. The custom image’s network configuration doesn’t require any additional setup to use DHCP.

  • You cannot use IPv6 with Droplets created from custom images.

  • You cannot enable monitoring automatically during Droplet creation when using a custom image. Instead, enable monitoring manually.

  • You must add an SSH key when creating Droplets from a custom image. These Droplets have password authentication disabled by default and you cannot use the control panel to reset the root password.

  • Importing a custom image by URL will fail if the image is served by a CDN that doesn’t support HEAD requests. If you have trouble importing an image via a URL, try downloading the file and uploading it directly.

Known Issues

  • You cannot see the total storage used by custom images.

  • The image upload window does not correctly display the size of the image.

Latest Updates

31 August 2021

11 March 2020

23 October 2018

  • Droplets created from custom images now support snapshots and backups.

For more information, see all Custom Images release notes.