Discover
Get started
Create buckets
Access and manage buckets
Upload and download objects
Access and manage objects
Get insights on your stored data
Cache objects
Control data lifecycles
Make requests
Secure data
Monitor data and usage
Protection, backup, and recovery
Mount buckets with Cloud Storage FUSE
Work across products, Clouds, and platforms
Troubleshoot
Stay organized with collections Save and categorize content based on your preferences.
This page shows you how to delete objects from your buckets in Cloud Storage.
Caution: By default, Cloud Storage retains soft-deleted objects for a duration of seven days. If you have accidentally deleted the objects, you can restore these soft-deleted objects during this duration. However, if you have disabled soft delete for your bucket, you cannot recover deleted objects. For more information on how to prevent accidental data deletion, see Options for controlling data lifecycles. Required rolesTo 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 permissionsstorage.objects.delete
storage.objects.list
--recursive
flag or wildcards in Google Cloud CLI.storage.buckets.list
You can also get these permissions with other predefined roles or custom roles.
For information about granting roles on buckets, see Use IAM with buckets.
Delete an object Note: Deleting data might incur early deletion charges if the data was originally stored as Nearline storage, Coldline storage, or Archive storage. Also note that if you have enabled Object Versioning for your bucket, the original object remains in your bucket until it is explicitly deleted using its generation number.Complete the following steps to delete objects from one of your Cloud Storage buckets:
ConsoleIn 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 lineUse the Google Cloud CLI command gcloud storage rm
:
gcloud storage rm gs://BUCKET_NAME/OBJECT_NAME
Where:
BUCKET_NAME
is the name of the bucket containing the object you want to delete. For example, my-bucket
.OBJECT_NAME
is 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/1Note: You can delete groups of objects that have the same prefix, such as objects whose names mimic a folder structure, by using the
--recursive
flag. For example: gcloud storage rm --recursive gs://my-bucket/dir/
Client libraries C++
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.
C#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.
GoFor 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.
JavaFor 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.
Node.jsFor 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.
PHPFor 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.
PythonFor 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.
RubyFor 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.
REST APIs JSON API Note: Each deletion request sent to the JSON API can contain only a single object to delete.Have gcloud CLI installed and initialized, which lets you generate an access token for the Authorization
header.
Use cURL
to call the JSON API with a DELETE
request:
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_NAME
is the name of the bucket containing the object you want to delete. For example, my-bucket
.OBJECT_NAME
is the URL-encoded name of the object you want to delete. For example, pets/dog.png
, URL-encoded as pets%2Fdog.png
.Have gcloud CLI installed and initialized, which lets you generate an access token for the Authorization
header.
Use cURL
to call the XML API with a DELETE Object
request:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
Where:
BUCKET_NAME
is the name of the bucket containing the object you want to delete. For example, my-bucket
.OBJECT_NAME
is the URL-encoded name of the object you want to delete. For example, pets/dog.png
, URL-encoded as pets%2Fdog.png
.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 Age
set 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.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-07 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-07 UTC."],[],[]]
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4