How do I increase the upload limit of st.file_uploader on Streamlit Cloud?

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:

  1. In a global config file at ~/.streamlit/config.toml for macOS/Linux or %userprofile%/.streamlit/config.toml for Windows:
    [server]
    maxUploadSize = 200
    
  2. In a per-project config file at $CWD/.streamlit/config.toml, where $CWD is the folder you're running Streamlit from.
  3. Through STREAMLIT_* environment variables, such as:
    export STREAMLIT_SERVER_MAX_UPLOAD_SIZE=200
    
  4. 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 Cloud? 🤔

When deploying your app to Streamlit 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

Was this page helpful?

editSuggest edits
forum

Still have questions?

Our forums are full of helpful information and Streamlit experts.