Storage buckets are a group of files, similar to collections in Appwrite Databases. Buckets let you limit file size and extensions, whether or not to encrypt the files, and more.

Create Bucket

You can create your bucket from the Appwrite Console or a Server SDK.


    Appwrite uses permissions to control file access. For security, only users that are granted permissions can access a file. This helps prevent accidental data leaks by forcing you to make more concious decisions around permissions.

    By default, Appwrite doesn't grants permissions to any users when a new bucket is created. This means users can't create new files or read, update, and delete existing files.

    Learn about configuring permissions.


    Appwrite provides added security settings for your buckets. Enable encryption under your bucket's Settings > Security settings. You can enable encryption to encrypt files in your buckets. If your files are leaked, encrypted files cannot be read by the malicious actor. Files bigger than 20MB cannot be encrypted.


    Appwrite allows you to compress your files. Two algorithms are available, which are gzip and zstd. You can enable compress under your bucket's Settings > Compression. For files larger than 20MB, compression will be skipped even when enabled.

    Maximum file size

    Limit the maximum file size allowed in the bucket to prevent abuse. You can configure maximum file size under your bucket's Settings > Maximum file size.

    File extensions

    Limit the file extensions allowed in the bucket to prevent abuse. A maximum of 100 file extensions can be added. Leave blank to allow all file types. You can configure maximum file size under your bucket's Settings > File extensions.