---
title: TVML
framework: TVML
role: collection
path: tvml
---

# TVML

Use Apple TV Markup Language to create individual pages inside of a client-server app.

## Overview

note: TVML is deprecated in tvOS 18 and later. Instead, develop apps for tvOS with SwiftUI or UIKit. Overview Every page in a client-server app is built on an Apple TV Markup Language (TVML) template. TVML templates define what elements can be used and in what order. Each template is designed to display information in a specific way. For example, loadingTemplate shows a spinner and a quick description of what is happening, while ratingTemplate shows the rating for a product. You create a new TVML file that contains a single template for each page in a client-server app. Each template page occupies the entire TV screen. Each template page uses compound and simple elements. Compound elements contain other elements, while simple elements are single lines of TVML. Elements contain the information and images that are displayed on the screen. Every template has a default presentation theme associated with it. You can set a specific theme for your app setting UIUserInterfaceStyle in the info.plist file. Themes provide a consistent look inside of a template. You control the flow of a client-server app through a JavaScript file that is called by your binary app. Your JavaScript file needs to be able to load TVML pages and respond to user input. For more information on available JavaScript APIs, see TVMLKit JS.

## Topics

### Full-Page Templates

- [alertTemplate](tvml/alerttemplate.md)
- [catalogTemplate](tvml/catalogtemplate.md)
- [compilationTemplate](tvml/compilationtemplate.md)
- [descriptiveAlertTemplate](tvml/descriptivealerttemplate.md)
- [divTemplate](tvml/divtemplate.md)
- [formTemplate](tvml/formtemplate.md)
- [listTemplate](tvml/listtemplate.md)
- [loadingTemplate](tvml/loadingtemplate.md)
- [mainTemplate](tvml/maintemplate.md)
- [menuBarTemplate](tvml/menubartemplate.md)
- [oneupTemplate](tvml/oneuptemplate.md)
- [paradeTemplate](tvml/paradetemplate.md)
- [productBundleTemplate](tvml/productbundletemplate.md)
- [productTemplate](tvml/producttemplate.md)
- [ratingTemplate](tvml/ratingtemplate.md)
- [searchTemplate](tvml/searchtemplate.md)
- [showcaseTemplate](tvml/showcasetemplate.md)
- [stackTemplate](tvml/stacktemplate.md)
- [Displaying a Product or Bundle in a Full-Page Template](tvml/displaying-a-product-or-bundle-in-a-full-page-template.md)

### Compound Elements

- [Background Elements](tvml/background-elements.md)
- [Banner and Header Elements](tvml/banner-and-header-elements.md)
- [Information Elements](tvml/information-elements.md)
- [Layout Elements](tvml/layout-elements.md)
- [Lockup Elements](tvml/lockup-elements.md)

### Simple Elements

- [Display Elements](tvml/display-elements.md)
- [Multimedia Elements](tvml/multimedia-elements.md)
- [Text Elements](tvml/text-elements.md)

### Styles

- [Color Styles](tvml/color-styles.md)
- [Text Styles](tvml/text-styles.md)
- [Element Shaping](tvml/element-shaping.md)
- [Element Alignment and Spacing](tvml/element-alignment-and-spacing.md)
- [tv-placeholder](tvml/tv-placeholder.md)
- [tv-rating-style](tvml/tv-rating-style.md)
- [tv-transition](tvml/tv-transition.md)
- [tv-text-highlight-style](tvml/tv-text-highlight-style.md)
- [tv-scrollable-bounds-inset](tvml/tv-scrollable-bounds-inset.md)

### Attributes

- [Image Attributes](tvml/image-attributes.md)
- [Text Attributes](tvml/text-attributes.md)
- [Focus Attributes](tvml/focus-attributes.md)
- [Binding and DOM Manipulation](tvml/binding-and-dom-manipulation.md)
- [Inline Playback](tvml/inline-playback.md)
- [Alignment, Scrolling, and Coloring](tvml/alignment-scrolling-and-coloring.md)

### Queries

- [Media Queries](tvml/media-queries.md)
- [Data Binding Queries](tvml/data-binding-queries.md)

### Resource Icons

- [Adding Resource Icons](tvml/adding-resource-icons.md)
- [Button Icons](tvml/button-icons.md)
- [Movie Rating Icons (United States)](tvml/movie-rating-icons-united-states.md)
- [Television Rating Icons (United States)](tvml/television-rating-icons-united-states.md)
- [Rating Icons (New Zealand)](tvml/rating-icons-new-zealand.md)
- [Rating Icons (United Kingdom)](tvml/rating-icons-united-kingdom.md)
- [Rating Icons (Brazil)](tvml/rating-icons-brazil.md)
- [Rotten Tomatoes Rating Icons](tvml/rotten-tomatoes-rating-icons.md)
- [Miscellaneous Icons](tvml/miscellaneous-icons.md)
