This page shows you how to delete Cloud Storage buckets.
If you delete a bucket that has soft delete enabled, you can restore the bucket or individual objects from the bucket during the retention duration specified in the soft delete policy. Managed folders cannot be recovered, even if the bucket has soft delete enabled.
Before you begin
In order to get the required permissions for deleting a Cloud Storage
bucket, ask your administrator to grant you the Storage Admin
(roles/storage.admin) IAM role on the bucket.
This predefined role contains the permissions required to delete a bucket. To see the exact permissions that are required, expand the Required permissions section:
Required permissions
- 
  storage.buckets.delete
- 
  storage.buckets.list- This permission is only required when deleting buckets using the Google Cloud console.
 
- 
  storage.objects.delete- This permission is only required if objects exist within the bucket you want to delete.
 
- 
  storage.objects.list- This permission is only required for deleting buckets using the Google Cloud console or the Google Cloud CLI.
 
You might also be able to get these permissions with other custom roles or predefined roles.
For instructions on granting roles for buckets, see Set and manage IAM policies on buckets.
Delete a bucket
Console
When you delete a bucket using the Google Cloud console, resources within the bucket are also deleted, such as objects, managed folders, and caches created with Anywhere Cache.
- In the Google Cloud console, go to the Cloud Storage Buckets page.
 
- Select the checkbox of the bucket you want to delete. 
- Click Delete. 
- In the overlay window that appears, confirm you want to delete the bucket and its contents. 
- Click Delete. 
To learn how to get detailed error information about failed Cloud Storage operations in the Google Cloud console, see Troubleshooting.
Command line
To delete the bucket, along with all the contents within the bucket,
use the Google Cloud CLI command gcloud storage rm with
the --recursive flag:
gcloud storage rm --recursive gs://BUCKET_NAME
Where BUCKET_NAME is the name of the bucket to
  delete. For example, my-bucket.
If successful, the response looks like the following example:
Removing gs://my-bucket/...
If you want to avoid accidentally deleting objects or managed folders,
use the gcloud storage buckets delete command, which only deletes a
bucket if the bucket is empty.
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- DELETEBucket request:- curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME" - Where - BUCKET_NAMEis the name of the bucket to delete. For example,- my-bucket.
If successful, the response contains a 204 status code.
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- DELETEBucket request:- curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME" - Where - BUCKET_NAMEis the name of the bucket to delete. For example,- my-bucket.
What's next
- Create a bucket.
- Move or rename a bucket.
- List objects in a bucket.
- Delete an object.
- Restore a soft-deleted bucket.