Watch Face Format

A watch face is the first thing that a user sees when they take a look at their watch, making it the most frequently-used surface of Wear OS. Users rely on watch faces to customize their watch to suit their style and meet their needs.

Created in partnership with Samsung, the Watch Face Format is a declarative XML format to configure the appearance and behavior of watch faces. This means that there's no executable code involved in creating a watch face, and there's no code embedded in your watch face APK.

The Wear OS platform takes care of the logic needed to render the watch face so you can focus on your creative ideas, rather than code optimizations or battery performance.

Watch faces that are built with this new format require less maintenance and fewer updates than the ones built using the Jetpack Watch Face libraries. For example, you don't need to update your watch face to benefit from improvements in performance or battery consumption, or to get the latest bug fixes.

Note: As of July 10, 2024, watch faces must use the Watch Face Format in order to be installed on new watches that launch with Wear OS 5 pre-installed. Learn more about the user-facing changes in this Help Center article.

Additionally, starting in early 2025 (specific date to be announced during Q4 2024), all new watch faces published on Google Play must use the Watch Face Format.

About the format

Attributes are strongly typed and have guidelines around frequency and valid values to avoid most sources of errors when creating a watch face from scratch. You can create a watch face directly using the format, or create tooling to support the creation of watch faces. One such example of tooling is Watch Face Studio, which supports the ability to export watch face designs to the Watch Face Format.

Learn more

Learn more about the Watch Face Format in these guides:

  • Available features: Explore the watch face capabilities that each version of Watch Face Format supports.
  • Design guidelines: Learn best practices for your watch face's layout and user experience.
  • Setup: Configure an Android App Bundle that supports the Watch Face Format.
  • Optimize memory usage: Learn how to configure your watch face so that the system consumes as little memory as possible when rendering your watch face.
  • XML reference: Explore the individual elements that are parts of a Watch Face Format file. The root element is always WatchFace.
  • Publishing guide: Learn how to upload your watch face to the Play Store.
  • GitHub samples: Get started through building sample watch faces and deploy them on the Wear OS emulator or your physical device.
  • WFF and memory validator: Use these open source tools to check your Watch Face Format file for errors and confirm acceptable memory usage before submitting to Google Play.