This page shows you how to delete objects from your buckets in Cloud Storage.
Required roles
To get the permissions that you need to delete objects, ask your administrator
to grant you the Storage Object User (roles/storage.objectUser)
IAM role for the bucket that contains the objects you want to
delete.
If you plan on using the Google Cloud console to complete the tasks on this
page, ask your administrator to grant you the Storage Admin
(roles/storage.admin) role instead of the Storage Object User
(roles/storage.objectUser) role, or the Viewer (roles/viewer) basic role
in addition to the Storage Object User (roles/storage.objectUser) role.
These roles contain the permissions required to delete objects. To see the exact permissions that are required, expand the Required permissions section:
Required permissions
- storage.objects.delete
- storage.objects.list- This permission is only needed when using the Google Cloud console, or
when using the --recursiveflag or wildcards in Google Cloud CLI.
 
- This permission is only needed when using the Google Cloud console, or
when using the 
- storage.buckets.list- This permission is only needed when using the Google Cloud console to perform the instructions on this page.
 
You can also get these permissions with other predefined roles or custom roles.
For information about granting roles on buckets, see Set and manage IAM policies on buckets.
Delete an object
Complete the following steps to delete objects from one of your Cloud Storage buckets:
Console
- In the Google Cloud console, go to the Cloud Storage Buckets page.
 
- In the list of buckets, click the name of the bucket that contains the objects you want to delete. - The Bucket details page opens, with the Objects tab selected. 
- Navigate to the objects, which may be located in a folder. 
- Click the checkbox for each object you want to delete. - You can also click the checkbox for folders, which will delete all objects contained in that folder. 
- Click the Delete button. 
- Click Delete in the dialog that appears. 
If you delete many objects at once, you can track deletion progress by clicking the Notifications icon in the Google Cloud console. The Google Cloud console can bulk delete up to several million objects and does so in the background.
To learn how to get detailed error information about failed Cloud Storage operations in the Google Cloud console, see Troubleshooting.
Command line
Use the Google Cloud CLI command gcloud storage rm:
gcloud storage rm gs://BUCKET_NAME/OBJECT_NAME
Where:
- BUCKET_NAMEis the name of the bucket containing the object you want to delete. For example,- my-bucket.
- OBJECT_NAMEis the name of the object you want to delete. For example,- pets/dog.png.
If successful, the response is similar to the following example:
Removing objects: Removing gs://example-bucket/file.txt... Completed 1/1
Client libraries
  
  
  
    
  
 
      
      
  For more information, see the
  Cloud Storage C++ API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
     
      
      
  For more information, see the
  Cloud Storage C# API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
     
      
      
  For more information, see the
  Cloud Storage Go API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
     
      
      
  For more information, see the
  Cloud Storage Java API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
     
      
      
  For more information, see the
  Cloud Storage Node.js API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
     
      
      
  For more information, see the
  Cloud Storage PHP API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
     
      
      
  For more information, see the
  Cloud Storage Python API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
     
      
      
  For more information, see the
  Cloud Storage Ruby API
    reference documentation.
  
     
      To authenticate to Cloud Storage, set up Application Default Credentials.
      For more information, see
      
        Set up authentication for client libraries.
      
    C++
  
  
    
    C#
  
  
    
    Go
  
  
    
    Java
  
  
    
    Node.js
  
  
    
    PHP
  
  
    
    Python
  
  
    
    Ruby
  
  
    
    
REST APIs
JSON API
- Have gcloud CLI installed and initialized, which lets you generate an access token for the - Authorizationheader.
- Use - cURLto call the JSON API with a- DELETErequest:- curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME" - Where: - BUCKET_NAMEis the name of the bucket containing the object you want to delete. For example,- my-bucket.
- OBJECT_NAMEis the URL-encoded name of the object you want to delete. For example,- pets/dog.png, URL-encoded as- pets%2Fdog.png.
 
XML API
- Have gcloud CLI installed and initialized, which lets you generate an access token for the - Authorizationheader.
- Use - cURLto call the XML API with a- DELETE Objectrequest:- curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME" - Where: - BUCKET_NAMEis the name of the bucket containing the object you want to delete. For example,- my-bucket.
- OBJECT_NAMEis the URL-encoded name of the object you want to delete. For example,- pets/dog.png, URL-encoded as- pets%2Fdog.png.
 
Delete objects in bulk
If you want to bulk delete a hundred thousand or more objects, avoid using
gcloud storage, as the process takes a long time to complete.
Instead, consider one of the following options:
- The Object Lifecycle Management feature can delete any number of objects. To bulk delete objects in your bucket using this feature, set a lifecycle configuration rule on your bucket where the condition has - Ageset to 0 days and the action is set to- delete. Once you set the rule, Cloud Storage performs the bulk delete asynchronously.
- The Google Cloud console is also a recommended option when deleting up to one million objects. Once you initiate such a deletion request, the process occurs in the background. You can check the status of your bulk deletion by clicking the Notifications button (notifications) in the Google Cloud console header. 
- When using certain client libraries or when using the JSON API directly, you can batch your deletion requests to reduce the number of HTTP connections you need to make. 
What's next
- Learn about the Object Versioning feature.
- Learn about the Object Lifecycle Management feature.
- Learn how to delete a bucket.