How to Tag Droplets

Validated on 10 Apr 2026 • Last edited on 15 Apr 2026

DigitalOcean Droplets are Linux-based virtual machines (VMs) that run on top of virtualized hardware. Each Droplet you create is a new server you can use, either standalone or as part of a larger, cloud-based infrastructure.

Tags are custom labels you can apply to Droplets and other DigitalOcean resources. You can filter tagged Droplets, automatically include Droplets in DigitalOcean Firewall or Load Balancer configurations by tag, create monitoring alert policies for groups of tagged Droplets, and use the DigitalOcean API to initiate an action across multiple Droplets with the same tag.

Choosing terms that describe a Droplet’s function can help you locate and administer Droplets that share common roles. For example, you might tag Droplets by:

  • Environment, like production, staging, or development.
  • Application, like web servers (Apache) or database servers (MariaDB).
  • Purpose, like a project name or any other key term that describes the use of the Droplet.
  • Person, like the individual or team responsible for managing the Droplet.

You can add tags to Droplets during or after creation.

Limits

  • Tags must be a single word containing only letters, numbers, colons, dashes, and underscores.

Known Issues

  • You cannot edit existing tags. Instead, create a new tag, apply it to the appropriate resources, and delete the old one.
  • Tag names are case stable, which means the capitalization you use when you first create a tag is canonical.
    • Tagged resources in the control panel always displays the canonical capitalization. For example, if you create a tag named PROD, you can tag resources in the control panel by entering prod. The tag still displays with its canonical capitalization, PROD.
    • When working with tags in the API, you must use the tag’s canonical capitalization. For example, if you create a tag named PROD, the URL to add that tag to a resource would be https://api.digitalocean.com/v2/tags/PROD/resources (not /v2/tags/prod/resources).

Tag Existing Droplets

To add or modify tags for an existing Droplet, you can:

  • Open the Droplet’s detail page, click the Settings tab, scroll to the Tags section, and click Edit.
  • Click Actions on the Droplet’s detail page and select Edit tags (or Add tags if the Droplet has none).
  • Click the More menu next to the Droplet on the Droplets list and select a tag option.

The Manage Tags window opens.

Manage Tags window with tag chip, search field, Save Tags button, and Cancel link.

Add tags by pressing SPACEBAR or ENTER after each term. Navigate between tags with the arrow keys, and remove the highlighted tag with DELETE or the last tag on the list with BACKSPACE.

When you’re done, click Save Tags.

Tag Droplets During Creation

To add tags while creating a new Droplet, at the bottom of the Droplet create page, look for the Finalize Details section.

Finalize Details on the create page with quantity, hostname fields, Tags with a tag chip and Enter tag name, project selector, and clear all link.

In the Tags field, enter the tags. Add multiple tags by pressing SPACEBAR or ENTER after each term. Navigate between tags with the arrow keys, and remove the highlighted tag with DELETE or the last tag on the list with BACKSPACE.

Automate Tagging

When tagging a Droplet via API, you need to have already created a tag. This is not necessary when using doctl, the CLI.

How to Add a Tag to a Droplet Using the DigitalOcean CLI
  1. Install doctl, the official DigitalOcean CLI.
  2. Create a personal access token and save it for use with doctl.
  3. Use the token to grant doctl access to your DigitalOcean account.
    doctl auth init
  4. Finally, run doctl compute droplet tag. Basic usage looks like this, but you can read the usage docs for more details:
    doctl compute droplet tag <droplet-id|droplet-name> [flags]
    The following example applies the tag frontend to a Droplet with the ID 386734086:
    doctl compute droplet tag 386734086 --tag-name frontend
How to Tag a Resource Using the DigitalOcean API
  1. Create a personal access token and save it for use with the API.
  2. Send a POST request to https://api.digitalocean.com/v2/tags/{tag_id}/resources.

cURL

Using cURL:

curl -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \
  -d '{"resources":[{"resource_id":"9569411","resource_type":"droplet"},{"resource_id":"7555620","resource_type":"image"},{"resource_id":"3d80cb72-342b-4aaa-b92e-4e4abb24a933","resource_type":"volume"}]}' \
  "https://api.digitalocean.com/v2/tags/awesome/resources"

Go

Using Godo, the official DigitalOcean API client for Go:

import (
    "context"
    "os"

    "github.com/digitalocean/godo"
)

func main() {
    token := os.Getenv("DIGITALOCEAN_TOKEN")

    client := godo.NewFromToken(token)
    ctx := context.TODO()

    opt := &godo.ListOptions{
        Page:    1,
        PerPage: 200,
    }
    tags, _, err := client.Tags.List(ctx, opt)
}

Ruby

Using DropletKit, the official DigitalOcean API client for Ruby:

require 'droplet_kit'
token = ENV['DIGITALOCEAN_TOKEN']
client = DropletKit::Client.new(access_token: token)

client.tags.tag_resources(name: 'awesome', resources: [{ resource_id: '9569411', resource_type: 'droplet' },{ resource_id: '7555620', resource_type: 'image' },{ resource_id: '3d80cb72-342b-4aaa-b92e-4e4abb24a933', resource_type: 'volume'}])

Python

Using PyDo, the official DigitalOcean API client for Python:

import os
from pydo import Client

client = Client(token=os.environ.get("DIGITALOCEAN_TOKEN"))

req = {
  "resources": [
    {
      "resource_id": "9569411",
      "resource_type": "droplet"
    },
    {
      "resource_id": "7555620",
      "resource_type": "image"
    },
    {
      "resource_id": "3d80cb72-342b-4aaa-b92e-4e4abb24a933",
      "resource_type": "volume"
    }
  ]
}

resp = client.tags.assign_resources(tag_id="awesome", body=req)

We can't find any results for your search.

Try using different keywords or simplifying your search terms.