Flask comes with a built-in web server that makes it easy to run and test your web applications during development. In this guide, we'll explore Flask's built-in server, learn how to start and stop it, and understand its limitations.

Step 1: Setting Up Your Flask Application

Before you can work with Flask's built-in server, make sure you have a Flask application. If not, you can create a basic Flask app like this:

from flask import Flask
app = Flask(__name)

Step 2: Starting the Built-in Web Server

You can start Flask's built-in web server by adding the following code at the end of your script:

if __name__ == '__main__':

With this code, the built-in server will start when you run your Flask application with python By default, the server listens on http://localhost:5000.

Step 3: Accessing Your Application

Once the server is running, you can access your Flask application in a web browser by visiting http://localhost:5000. You'll see your app's routes and can interact with it during development.

Step 4: Stopping the Server

To stop the built-in server, press Ctrl + C in your terminal or command prompt where the Flask application is running. This will gracefully shut down the server.

Server Limitations

Flask's built-in server is designed for development and testing purposes. It is not suitable for production use. When deploying your Flask application for production, consider using a production-ready server like Gunicorn or uWSGI.


Flask's built-in web server provides a convenient way to develop and test your applications. It's great for getting started, but keep in mind its limitations and use production-ready servers when deploying your application to the real world.