---
sourceDocument: Xanadu API Reference
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - en-US

ft:publication_title :

    - Xanadu API Reference

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# Creating custom UI Pages and UI macros

# Creating custom UI Pages and UI macros {#ariaid-title1}

* Release version: Xanadu
* 
* Updated August 1, 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 1 minute to read

Use UI pages to create custom pages for an application and UI macros for custom controls or interfaces.

Every UI Page is a [Jelly](https://servicenow-prod.fluidtopics.net/bFEsFPLb1WYlQoamRDEfNg "Use Jelly to turn XML into HTML.") template. Jelly turns XML into executable code. A UI Page works similar to how an index.html file is used in an AngularJS application. Jelly tags in the HTML field of the UI Page form contain AngularJS
logic.

Creating [UI macros](https://servicenow-prod.fluidtopics.net/~qIUyqeIRdrSnlC1RcqGNQ#c_UIMacros "UI macros are discrete scripted components administrators can add to the user interface.") requires knowledge of Jelly script. Review the existing UI macros for examples and suggested approaches. Those who want to build custom interfaces with JavaScript technologies should consider Service Portal as an
alternative.
* **[UI pages](https://servicenow-prod.fluidtopics.net/2FHK7WpgtldMnepKY1nFmw#r_UIPages)**   
  UI pages can be used to create and display forms, dialogs, lists, and other UI components.
* **[UI macros](https://servicenow-prod.fluidtopics.net/~qIUyqeIRdrSnlC1RcqGNQ#c_UIMacros)**   
  UI macros are discrete scripted components administrators can add to the user interface.
* **[Jelly tags](https://servicenow-prod.fluidtopics.net/bFEsFPLb1WYlQoamRDEfNg)**   
  Use Jelly to turn XML into HTML.

