Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.

Grafana Cloud Enterprise Open source


Canvases combine the power of Grafana with the flexibility of custom elements. Canvases are extensible form-built visualizations that allow you to explicitly place elements within static and dynamic layouts. This empowers you to design custom visualizations and overlay data in ways that aren’t possible with standard Grafana panels, all within Grafana’s UI. If you’ve used popular UI and web design tools, then designing canvases will feel very familiar.

We would love your feedback on Canvas. Please check out the open Github issues and submit a new feature request as needed.

Canvas beta overview


Metric value

The metric value element lets you easily select the data you want to display on a canvas. This element has a unique “edit” mode that can be triggered either through the context menu “Edit” option or by double clicking. When in edit mode you can select which field data that you want to display.

Metric value element demo


The text element lets you easily add text to the canvas. The element also supports an editing mode, triggered via either double clicking or the edit menu option in the context menu.

Text element demo


The ellipse element lets you add a basic ellipse to the canvas. An ellipse element can display text (both fixed and field data) and its background color can be changed based on data thresholds.


The rectangle element lets you add a basic rectangle to the canvas. A rectangle element can display text (both fixed and field data) and its background color can be changed based on data thresholds.


The icon element lets you add a supported icon to the canvas. Icons can have their color set based on thresholds / value mappings.


The server element lets you easily represent a single server, a stack of servers, a database, or a terminal. Server elements support status color, bulb color, and a bulb blink rate all configurable by fixed or field values.

Canvas server element
Canvas server element


The button element lets you add a basic button to the canvas. Button elements support triggering basic, unauthenticated API calls. API settings are found in the button element editor. You can also pass template variables in the API editor.


A button click will only trigger an API call when inline editing is disabled.
Canvas button element demo

Give it a try using Grafana Play

With Grafana Play, you can explore and see how it works, learning from practical examples to accelerate your development. This feature can be seen on Canvas Visualization: Buttons.


When building a canvas, you can connect elements together to create more complex visualizations. Connections are created by dragging from the connection anchor of one element to the connection anchor of another element. You can also create connections to the background of the canvas. Connection anchors are displayed when you hover over an element and inline editing is turned on. To remove a connection, simply click on the connection directly and then press the “Delete” or “Backspace” key.

Canvas connections demo

You can set both the size and color of connections based on fixed or field values. To do so, enter into panel edit mode, select the connection, and modify the connection’s properties in the panel editor.

Canvas service graph
Canvas service graph

Canvas editing

Inline editor

You can edit your canvas inline while in the context of dashboard mode.

Inline editor demo

Pan and zoom

You can enable panning and zooming in a canvas. This allows you to both create and navigate more complex designs.


Canvas pan and zoom is currently in public preview. Grafana Labs offers limited support, and breaking changes might occur prior to the feature being made generally available. Enable the canvasPanelPanZoom feature toggle in Grafana to use this feature. Contact Grafana Support to enable this feature in Grafana Cloud.
Canvas pan zoom control
Canvas pan and zoom enablement video

Infinite panning

You can enable infinite panning in a canvas when pan and zoom is enabled. This allows you to pan and zoom the canvas and uncover larger designs.


Infinite panning is an experimental feature that may not work as expected in all scenarios. For example, elements that are not top-left constrained may experience unexpected movement when panning.

Context menu

The context menu lets you perform common tasks quickly and efficiently. Supported functionality includes opening / closing the inline editor, duplicating an element, deleting an element, and more.

The context menu is triggered by a right click action over the panel / over a given canvas element. When right clicking the panel, you are able to set a background image and easily add elements to the canvas.

Canvas panel context menu
Canvas panel context menu

When right clicking an element, you are able to edit, delete, duplicate, and modify the element’s layer positioning.

Canvas element context menu
Canvas element context menu

Element snapping and alignment

When you’re moving elements around the canvas, snapping and alignment guides help you create more precise layouts.


Currently, element snapping and alignment only works when the canvas is not zoomed in.

Canvas options

Inline editing

The inline editing toggle lets you lock or unlock the canvas. When turned off the canvas becomes “locked”, freezing elements in place and preventing unintended modifications.

Inline editing toggle demo

Canvases support data links for all elements except drone and button elements. You can add a data link by following these steps:

  1. Set an element to be tied to a field value.
  2. Turn off the inline editing toggle.
  3. Create an override for Fields with name and select the element field name from the list.
  4. Click the + Add override property button.
  5. Select Datalinks > Datalinks from the list.
  6. Click +Add link add a title and URL for the data link.
  7. Hover over the element to display the data link tooltip.
  8. Click on the element to be able to open the data link.

If multiple elements use the same field name, and you want to control which elements display the data link, you can create a unique field name using the add field from calculation transform. The alias you create in the transformation will appear as a field you can use with an element.

  1. In the panel editor for the canvas, click the Transform tab.
  2. Select Add field from calculation from the list of transformations, or click + Add transformation to display the list first.
  3. Choose Reduce row from the dropdown and click the field name that you want to use for the element.
  4. Select All Values from the Calculation dropdown.
  5. Add an alias for the field name.
  6. Reference the new unique field alias to create the element and field override.
Data links demo


A threshold is a value or limit you set for a metric that’s reflected visually when it’s met or exceeded. Thresholds are one way you can conditionally style and color your visualizations based on query results.

Set the following options:

  • Value - Set the value for each threshold.
  • Thresholds mode - Choose from:
    • Absolute
    • Percentage

To learn more, refer to Configure thresholds.

Value mappings

Value mapping is a technique you can use to change how data appears in a visualization.

For each value mapping, set the following options:

  • Condition - Choose what’s mapped to the display text and (optionally) color:
    • Value - Specific values
    • Range - Numerical ranges
    • Regex - Regular expressions
    • Special - Special values like Null, NaN (not a number), or boolean values like true and false
  • Display text
  • Color (Optional)
  • Icon (Canvas only)

To learn more, refer to Configure value mappings.

Field overrides

Overrides allow you to customize visualization settings for specific fields or series. When you add an override rule, it targets a particular set of fields and lets you define multiple options for how that field is displayed.

Choose from one the following override options:

  • Fields with name - Select a field from the list of all available fields.
  • Fields with name matching regex - Specify fields to override with a regular expression.
  • Fields with type - Select fields by type, such as string, numeric, or time.
  • Fields returned by query - Select all fields returned by a specific query, such as A, B, or C.
  • Fields with values - Select all fields returned by your defined reducer condition, such as Min, Max, Count, Total.

To learn more, refer to Configure field overrides.