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.