Menu
Amazon Simple Storage Service
Console User Guide

How Do I Upload Files and Folders 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. Note that Opt In is not available in all Regions.  


                            Opt-in to new Amazon S3 console UI

This topic 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 files and folders to an Amazon S3 bucket, you need write permissions for the bucket. For more information about access permissions, see Setting Bucket and Object Access Permissions.

You can upload any file type—images, backups, data, movies, etc—into and S3 bucket. The maximum size of a file that you can upload by using the Amazon S3 console is 78 GB. When you upload a file to Amazon S3, it is stored as an S3 object. Objects consist of the file data and metadata that describes the object. You can have an unlimited number of objects in a bucket.

You can upload files by dragging and dropping or by pointing and clicking. To upload folders, you must drag and drop them. Drag and drop functionality is supported only for the Chrome and Firefox browsers. For information about which Chrome and Firefox browser versions are supported, see Which Browsers are Supported for Use with the AWS Management Console?.

When you upload a folder, Amazon S3 uploads all of the files and subfolders from the specified folder to your bucket. It then assigns an object 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 key names, images/sample1.jpg and images/sample2.jpg. The key names include the folder name as a prefix. The Amazon S3 console displays only the part of the key name that follows the last “/”. For example, within an images folder the images/sample1.jpg and images/sample2.jpg objects are displayed as sample1.jpg and a sample2.jpg.

If you upload individual files and you have a folder open in the Amazon S3 console, when Amazon S3 uploads the files, it includes the name of the open folder as the prefix of the key names. For example, if you have a folder named backup open in the Amazon S3 console and you upload a file named sample1.jpg, the key name is backup/sample1.jpg. However, the object is displayed in the console as sample1.jpg in the backup folder.

If you upload individual files and you do not have a folder open in the Amazon S3 console, when Amazon S3 uploads the files, it assigns only the file name as the key name. For example, if you upload a file named sample1.jpg, the key name is sample1.jpg. For more information on key names, see Object Key and Metadata in the Amazon Simple Storage Service Developer Guide.

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.

Uploading Files and Folders by Using Drag and Drop

If you are using the Chrome or Firefox browsers, you can choose the folders and files to upload, and then drag and drop them into the destination bucket. Dragging and dropping is the only way that you can upload folders.

To upload folders and files to an S3 bucket by using drag and drop

  1. Sign in to the AWS Management Console and open the Amazon S3 console at https://console.aws.amazon.com/s3/.

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

  3. Drag and drop your selections into the console window that lists the objects in the destination bucket.

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

  4. In the Upload dialog box, do one of the following:

    1. Drag and drop more files and folders to the console window that displays the Upload dialog box. To add more files, you can also choose Add more files. This option works only for files, not folders.

    2. To immediately upload the listed files and folders without granting or removing permissions for specific users or setting public permissions for all of the files that you're uploading, choose Upload. For information about object access permissions, see How Do I Set Permissions on an Object?.

    3. To set permissions or properties for the files that you are uploading, choose Next.

  5. On the Set Permissions page, grant or remove permissions for specific users and set public permissions for all of the files that you're uploading if appropriate, and then choose Next. For information about object access permissions, see How Do I Set Permissions on an Object?.

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

    1. Choose a storage class for the files you're 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 files that you're uploading. If you don't want to encrypt them, choose None.

      1. To encrypt the uploaded files 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 the uploaded files using the AWS Key Management Service (AWS KMS), choose AWS KMS master-key. Then choose a master key from the list of AWS KMS master keys.

        Note

        To encrypt objects in a bucket, you can use only keys that are available in the same AWS Region as the bucket.

        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 about protecting data with AWS KMS, see Protecting Data with AWS KMS–Managed Key in the Amazon Simple Storage Service Developer Guide.

    3. If you want to add Amazon S3 system-defined 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. For a list of system-defined metadata and information about whether you can add the value, see System-Defined Metadata in the Amazon Simple Storage Service Developer Guide.

    4. To add user-defined metadata to all of the objects that you are uploading, type x-amz-meta- plus a custom metadata name in the Header field. Type a value for the header, and then choose Save. For more information about user-defined metadata, see User-Defined Metadata in the Amazon Simple Storage Service Developer Guide.

      Metadata for Amazon S3 objects is represented by a name-value (key-value) pair. User-defined metadata is stored with the object, and is returned when you download the object. User-defined metadata can be as large as 2 KB. 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. Amazon S3 does not process user-defined metadata.

  7. Choose Next.

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

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

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

Uploading Files by Pointing and Clicking

This procedure explains how to upload files into an S3 bucket by choosing Upload, and then choosing the files to upload.

To upload files to an S3 bucket by pointing and clicking

  1. Sign in to the AWS Management Console and open the Amazon S3 console at https://console.aws.amazon.com/s3/.

  2. In the Bucket name list, choose the name of the bucket that you want to upload your files 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.

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

  6. After you see the files that you chose listed in the Upload dialog box, do one of the following:

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

    2. To immediately upload the listed files, choose Upload.

    3. To set permissions or properties for the files that you are uploading, choose Next.

  7. To set permissions and properties, start with Step 5 of Uploading Files and Folders by Using Drag and Drop.

More Info

How Do I Download an Object from an S3 Bucket?