How do I increase the upload limit of st.file_uploader on Streamlit Community Cloud?
Overview
By default, files uploaded using st.file_uploader()
are limited to 200MB. You can configure this using the server.maxUploadSize
config option.
Streamlit provides four different ways to set configuration options:
- In a global config file at
~/.streamlit/config.toml
for macOS/Linux or%userprofile%/.streamlit/config.toml
for Windows:[server] maxUploadSize = 200
- In a per-project config file at
$CWD/.streamlit/config.toml
, where$CWD
is the folder you're running Streamlit from. - Through
STREAMLIT_*
environment variables, such as:export STREAMLIT_SERVER_MAX_UPLOAD_SIZE=200
- As flags on the command line when running
streamlit run
:streamlit run your_script.py --server.maxUploadSize 200
Which of the four options should you choose for an app deployed to Streamlit Community Cloud? ๐ค
Solution
When deploying your app to Streamlit Community Cloud, you should use option 1. Namely, set the maxUploadSize
config option in a global config file (.streamlit/config.toml
) uploaded to your app's GitHub repo. ๐
For example, to increase the upload limit to 400MB, upload a .streamlit/config.toml
file containing the following lines to your app's GitHub repo:
[server]
maxUploadSize = 400
Relevant resources
- Streamlit drag and drop capping at 200MB, need workaround
- File uploader widget API
- How to set Streamlit configuration options
Still have questions?
Our forums are full of helpful information and Streamlit experts.