# Deploy for Free

You can deploy instances of some Render services *free of charge*:

- Web services (web apps in Node.js, Python, Rails, etc.)
- Render Postgres databases
- Render Key Value instances

*Free instances have important limitations. Do not use them for production applications.* However, they're perfect for testing out a new technology, working on a hobby project, or previewing Render's developer experience.

You can also deploy [static sites](static-sites) on Render for free.

> Web services and static sites count against your monthly included amounts of outbound bandwidth and pipeline minutes. View your usage in the [Render Dashboard](https://dashboard.render.com/billing#included-usage).

## Create a Free instance

> For a more complete deployment walkthrough, see [*Your First Render Deploy*](your-first-deploy).

1. [Sign up for Render](https://dashboard.render.com/register) if you haven't yet.
2. In the [Render Dashboard][dboard], click *New*:

   [img]

3. Select *Static Site*, *Web Service*, *Postgres*, or *Key Value*.
    - Other service types don't support Free instances.

4. During the service creation flow, you choose an *instance type* for your service (unless it's a static site). Choose *Free*:

   [img]

That's it! When you finish creating and deploying your service, it runs on a Free instance.

For details on limitations of Free instance types, see the sections below.

## Free web services

> [Learn more about web services on Render.](web-services)

Free web services support many (but not all) features available to web services on paid instance types. Supported features include:

- [Custom domains](custom-domains)
- [Managed TLS certificates](tls)
- [Service previews](service-previews)
- [Log streams](log-streams)
- [Rollbacks](rollbacks) (only to the two most recent previous deploys)

*Most limitations below are specific to web services on the Free instance type.* To avoid these limitations, you can upgrade your service to any paid instance type.

### Spinning down on idle

Render *spins down* a Free web service that goes 15 minutes without receiving inbound traffic. Render spins the service back _up_ whenever it next receives a request to process.

Whenever a service spins down, any changes to its local filesystem are lost (see [Local files lost on redeploy](#local-files-lost-on-redeploy)).

Spinning up a service takes up to a minute, which causes a noticeable delay for incoming requests until the service is back up and running. For example, a browser page load will hang temporarily.

Render automatically displays a loading page to connecting browsers while a Free web service is spinning up.

### Local files lost on redeploy

Like all Render services, Free web services have an [ephemeral filesystem](deploys#ephemeral-filesystem). This means that any changes to your web service's filesystem (uploaded images, local SQLite databases, etc.) are _lost_ every time the service redeploys, restarts, or [spins down](#spinning-down-on-idle).

*For long-term data storage:*

- _Paid_ services can preserve local filesystem changes by attaching a [persistent disk](disks), but Free web services _cannot_.
- Paid _and_ Free services can persist relational data in a [Render Postgres](postgresql-creating-connecting) database.
    - Note that Free Render Postgres databases [expire 30 days after creation](#30-day-limit).

### Monthly usage limits

#### Free instance hours

Render grants *750 Free instance hours* to each workspace per calendar month:

- A Free web service consumes these hours as long as it's running ([spun-down services](#spinning-down-on-idle) don't consume Free instance hours).
- If you consume all of your Free instance hours during a given month, Render *suspends* all of your Free web services until the start of the next month.
- At the start of each month, your Free instance hours reset to 750 (remaining hours don't roll over).

#### Bandwidth and build pipeline

Free web services count against your monthly included amounts of [outbound bandwidth](outbound-bandwidth) and [build pipeline minutes](build-pipeline#pipeline-minutes).

- *If you consume all of your outbound bandwidth during a given month,* Render bills you for a supplementary amount.
  - If you haven't added a payment method, Render instead suspends all of your Free services for the remainder of the month.
- *If you consume all of your build pipeline minutes during a given month,* Render bills you for a supplementary amount (unless you've reached your [spend limit](build-pipeline#setting-a-spend-limit).
  - If you haven't added a payment method or you reach your spend limit, Render instead disables all new builds for your workspace for the remainder of the month.
  - In this case, your services remain active using their existing deploys.

#### Tracking usage

View your usage details from the *Monthly Included Usage* section of your [Billing page](https://dashboard.render.com/billing#included-usage) in the Render Dashboard:

[img]

Render notifies you via email when you’re approaching a usage limit, and then again if you exceed that limit.

### Service-initiated traffic threshold

Render may suspend a Free web service that initiates an uncommonly high volume of traffic over the public internet.

Examples of service-initiated traffic include:

- Accessing an external database
- Invoking external APIs
- Transferring data to or from external object storage

If your service is suspended this way, you can restore it by moving it to any paid instance type.

### Automatic `robots.txt` responses

While a Free web service is [spun down](#spinning-down-on-idle), incoming requests to the path `/robots.txt` automatically receive a standard "disallow all" response:

```text
User-agent: *
Disallow: /
```

These requests to do _not_ reach your service or trigger a spin-up.

While a Free web service is active, requests to `/robots.txt` are routed to it as normal.

### Other limitations

- Render might restart a Free web service at any time.
- Free web services don't support the following features of paid instance types:
  - [Scaling](scaling) beyond a single instance
  - [Persistent disks](disks)
  - [Edge caching](web-service-caching)
  - Running [one-off jobs](one-off-jobs)
  - [Shell access](ssh) via SSH or the Render Dashboard
- Free web services can't _receive_ [private network](private-network) traffic.
  - They can _send_ private network requests to your data stores and paid services in the same region.
- Free web services can't listen on reserved ports `18012`, `18013`, or `19099`.
- Free web services can't send outbound network traffic on ports `25`, `465`, or `587`, commonly used for SMTP.

## Free Postgres

> [Learn more about Render Postgres.](postgresql)

*The limitations below are specific to Render Postgres databases on the Free instance type.* To avoid these limitations, you can upgrade your database to any paid instance type.

### Single-instance limit

Only _one_ Free Render Postgres database can be active for any given workspace.

### 1 GB limit

Free Render Postgres databases have a fixed storage capacity of 1 GB.

### 30-day limit

*Free Render Postgres databases expire 30 days after creation.* An expired Free database is inaccessible unless you upgrade it to a paid instance type.

After a Free database expires, you have a grace period of 14 days to upgrade it to a paid instance type. After the grace period, Render *deletes* the database (along with all of its data).

Render notifies you via email when you’re approaching a Free database expiration, and then again when you're approaching the end of the grace period.

### Other limitations

- Render might perform maintenance on a Free Render Postgres database at any time. Your database is temporarily unavailable during maintenance.
- Render might restart a Free Render Postgres database at any time.
- Free Render Postgres databases don't support any form of [backups](postgresql-backups).

## Free Key Value

> [Learn more about Render Key Value.](key-value)

*The limitations below are specific to Render Key Value instances on the Free instance type.* To avoid these limits, you can upgrade your instance to any paid instance type.

### Single-instance limit

Only _one_ Free Key Value instance can be active for any given workspace.

### In-memory only

Unlike paid instances, Free Key Value instances do not continually persist their state to disk. This means that whenever an instance restarts, all of its data is lost.

### Other limitations

- Render might perform maintenance on a Free Render Key Value instance at any time. Your instance is temporarily unavailable during maintenance.
- Render might restart a Free Render Key Value instance at any time (thereby [deleting its data](#in-memory-only)).
- If you upgrade a Free Render Key Value instance to a paid instance type, its data is lost during the upgrade process.

## Static sites

> [Learn more about static sites on Render.](static-sites)

Static sites are free to deploy on Render. As with web services, they count against your monthly included amounts of outbound bandwidth and pipeline minutes. View your usage in the [Render Dashboard](https://dashboard.render.com/billing#included-usage).