Deploy an app

Streamlit Cloud lets you deploy your apps in just one click, and most apps will deploy in only a few minutes. If you don't have an app ready to deploy, fork or clone one of our example apps — you can find apps for machine learning, data visualization, data exploration, A/B testing and more.

Streamlit Cloud launches apps directly from your GitHub repo, so your app code and dependencies need to be on GitHub before you try to deploy the app. See App dependencies for more information.

To deploy an app, click "New app" from the upper right corner of your workspace, then fill in your repo, branch, and file path, and click "Deploy". As a shortcut, you can also click "Paste GitHub URL".

Deploy an app

If you are connecting to a data source or want to select a Python version for your app, you can do that by clicking "Advanced settings" before you deploy the app.

Advanced settings

You can connect to private data sources either by using secrets management or with IP allowlisting. Read more on how to connect to data sources.



Streamlit Cloud supports Python 3.7 - Python 3.10, and defaults to version 3.9. You can select a version of your choice from the "Python version" dropdown in the "Advanced settings" modal.

Your app is now deploying and you can watch while it launches. Most apps take only a couple of minutes to deploy, but if your app has a lot of dependencies it may take some time to deploy the first time. After the initial deployment, any change that does not touch your dependencies should show up immediately.

Watch app launch


The Cloud logs on the right hand side are only viewable to the developer and is how you can grab logs and debug any issues with the app. Learn more about Cloud logs.

That's it — you're done! Your app now has a unique subdomain URL that you can share with others. Click here to read about how to share your app with viewers.

App subdomain URLs follow a structure based on your GitHub repo:

https://[user name]-[repo name]-[branch name]-[app path]-[short hash]

For example:

Streamlit Community Cloud supports embedding public apps using the subdomain scheme. To embed a public app, add the query parameter /?embedded=true to the end of the * subdomain URL.

For example, say you want to embed the Streamlit Docs' PyDeck app: The URL to include in your iframe is:

If you want to hide the chrome, scrollbars, and hamburger menu in your embedded apps, you can add the /?embed=true query parameter instead to the end of the * subdomain URL. For example:



There will be no official support for embedding private apps.

Subdomains will also soon be customizable! With this step you'll be able modify your app URLs to reflect your app content, personal branding, or whatever you’d like. The URL will appear as:


Early access signup for custom subdomains is now closed. The feature will soon be publicly available. Once you have access, to customize your app subdomain from the dashboard:

  1. Click the "︙" overflow menu to the right of the app and select "Settings"

    Custom subdomain settings
  2. View the "General" tab in the App settings modal. Your app's unique subdomain will appear here

    Custom subdomain pick

  3. Pick a custom subdomain between 6 and 63 characters in length for your app's URL and hit "Save"

    Custom subdomain save

It's that simple! You can then access your app by visiting your custom subdomain URL 🎉. For example,

If a custom subdomain is not available (e.g. because it's already taken), you'll see an error message like this:

Custom subdomain error

Was this page helpful?

editSuggest edits

Still have questions?

Our forums are full of helpful information and Streamlit experts.