---
name: "up.boot"
area: "API"
kind: "JavaScript function"
parent: "up.framework module"
visibility: "experimental"
url: "https://unpoly.com/api/up.boot"
---
<nav aria-label="Unpoly docs">[All docs](https://unpoly.com/index.md) · [up.framework module](https://unpoly.com/api/up.framework.md)</nav>

# up.boot()

**This feature is experimental**. Please [share](https://github.com/unpoly/unpoly/discussions) your experiences so we know what to keep or change.

Manually boots the Unpoly framework.

It is not usually necessary to call `up.boot()` yourself. When you load [Unpoly's JavaScript file](https://unpoly.com/learn/install.md), Unpoly will automatically boot on [`DOMContentLoaded`](https://developer.mozilla.org/en-US/docs/Web/API/Window/DOMContentLoaded_event). There are only two cases when you would boot manually:

- When you load Unpoly with `<script async>`
- When you explicitly ask to manually boot by setting an [`<html up-boot="manual">`](https://unpoly.com/api/up-boot-manual.md) attribute.

Before you manually boot, Unpoly should be configured and compilers should be registered. Booting will cause Unpoly to [compile](https://unpoly.com/api/up.hello.md) the initial page.

Unpoly will refuse to boot if the current browser is [not supported](https://unpoly.com/api/up.framework.isSupported.md). This leaves you with a classic server-side application on legacy browsers.

