---
schema_version: "1"
id: 981eb9ee9ff8c920c90ac633af415c470404a5bc5ac19f6ab4b3d8118d69ea5b
title: Creating App Templates
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform/aura-platform/guides/aura/apps/apps-template-overview.md
canonical_url: https://developer.salesforce.com/docs/platform/aura-platform/guide/apps-template-overview.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 883f1f13cd771b627078bd32dd9fb2c54f742677b8856007f2fe48adef36da96
products:
  - Lightning Aura Components Developer Guide
  - Platform Developer Content
---

# Creating App Templates

An app template bootstraps the loading of the framework and the app. Customize an app’s template by creating a component that extends the default `aura:template` template.

A template must have the `isTemplate` system attribute in the `<aura:component>` tag set to `true`. This informs the framework to allow restricted items, such as `<script>` tags, which aren't allowed in regular components.

A component with the `isTemplate` system attribute set to `true` can’t be used on a site page. To use a component on a site page, the `isTemplate` system attribute can’t be set to `true`.

For example, a sample app has a `np:template` template that extends `aura:template`. `np:template` looks like:

<!-- otherprops: set_clipboard -->
```nolang
<aura:component isTemplate="true" extends="aura:template">
    <aura:set attribute="title" value="My App"/>
    ...    
</aura:component>
```

Note how the component extends `aura:template` and sets the `title` attribute using `aura:set`.

The app points at the custom template by setting the `template` system attribute in `<aura:application>`.

<!-- otherprops: set_clipboard -->
```nolang
<aura:application template="np:template">
    ...    
</aura:application>
```

A template can only extend a component or another template. A component or an application can't extend a template.

