Amazon Simple Storage Service
Console User Guide

How Do I Upload an Object to an S3 Bucket?

If you are in the old Amazon S3 console, to use the new console, choose Opt In in the following box, which appears on the old Amazon S3 console home page.  

                            Opt-in to new Amazon S3 console UI

This section explains how to use the AWS Management Console to upload one or more files or entire folders to an Amazon S3 bucket.

Before you can upload an object to an Amazon S3 bucket, you must have write permissions for the bucket.

Objects can be any file type: images, backups, data, movies, etc. The maximum size of a file that you can upload by using the Amazon S3 console is 78 GB. You can have an unlimited number of objects in a bucket.

When you upload a folder, Amazon S3 uploads all of the files and subfolders from the specified folder to your bucket. It then assigns a key name that is a combination of the uploaded file name and the folder name. For example, if you upload a folder called /images that contains two files, sample1.jpg and sample2.jpg, Amazon S3 uploads the files and then assigns the corresponding object key names, images/sample1.jpg and images/sample2.jpg. The key names include the folder name as a prefix.

If you upload files that are not in a folder, when Amazon S3 uploads the files, it assigns only the file names as the key name for the objects created.

If you upload an object with a key name that already exists in a versioning-enabled bucket, Amazon S3 creates another version of the object instead of replacing the existing object.

To upload an object to an S3 bucket

  1. Sign in to the AWS Management Console and open the Amazon S3 console at

  2. In the Bucket name list, choose the name of the bucket that you want to upload your objects to.

  3. Choose Upload.

    1. If the bucket is empty, choose Get started or Upload an object.

  4. In the Upload dialog box, choose Add files to select the files to upload.

  5. In the dialog box, use one of the following methods to add the files that you want to upload:

    1. Choose one or more files and folders to upload, and then choose Open.

    2. If you are using the Google Chrome browser, you can choose one or more files to upload, and then drag and drop your selection into the Upload dialog box.

  6. The files you chose are listed in the Upload dialog box.

    1. To add more files, choose Add more files.

    2. To immediately upload the files, choose Upload.

    3. To continue on to setting permissions or properties for the files that you are uploading, choose Next.

  7. On the Set Permissions page, you can grant or remove permissions for specific users and set public permissions for the files you are uploading. Make the changes, and then choose Next.

  8. On the Set Properties page, choose the storage class and encryption method to use for the objects you are uploading. You can also add or modify metadata.

    1. Choose a storage class for the objects you are uploading. For more information about storage classes, see Storage Classes in the Amazon Simple Storage Service Developer Guide.

    2. Choose the type of encryption for the objects you're uploading, or, if you don't want to encrypt the objects you're uploading, choose None.

      1. To encrypt your uploaded objects using keys that are managed by Amazon S3, choose Amazon S3 master-key. For more information, see Protecting Data with Amazon S3-Managed Encryption Keys Classes in the Amazon Simple Storage Service Developer Guide.

      2. To encrypt your uploaded objects using the AWS Key Management Service (AWS KMS), choose AWS KMS master-key and then choose a master key from the list of the AWS KMS master keys that you have previously created.


        You can use only keys in the same AWS Region as this bucket to encrypt objects in this bucket.

        1. You can give an external account the ability to use an object that is protected by an AWS KMS key. To do this, select Custom KMS ARN from the list and enter the Amazon Resource Name (ARN) for the external account. Administrators of an external account that have usage permissions to an object protected by your AWS KMS key can further restrict access by creating a resource-level IAM policy.

        For more information about creating an AWS KMS key, see Creating Keys in the AWS Key Management Service Developer Guide. For more information, see Protecting Data with AWS KMS–Managed Key in the Amazon Simple Storage Service Developer Guide.

    3. If you want to add Amazon S3 metadata to all of the objects you are uploading, for Header, select a header. You can select common HTTP headers, such as Content-Type and Content-Disposition. Type a value for the header, and then choose Save.

    4. To add user-defined custom metadata to all of the objects that you are uploading, type x-amz-meta- plus the metadata name in the Header field. Type a value for the header, and then choose Save.

      1. Amazon S3 object metadata is represented by a key-value pair. User metadata is stored with the object and returned when you download the object. Amazon S3 does not process custom metadata. Custom user-defined metadata can be as large as 2 KB, and both the keys and their values must conform to US-ASCII standards. Any metadata starting with prefix x-amz-meta- is treated as user-defined metadata.

  9. Choose Next.

  10. On the Upload review page, verify that your settings are correct, and then choose Upload. To make changes, choose Previous.

  11. To see the progress of your upload, choose In progress at the bottom of the browser window.

    To see a history of your uploads and other operations, choose Success.

On this page: