> This page is for Designer API.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.webflow.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.webflow.com/_mcp/server.

# Get visibility (Beta)

> Get the visibility of an element.

## `element.getVisibility()`

Get the visibility of an element or whether its visibility state is bound to a data source.

Verify that the element has the `visibility` property before calling this method.

> **Beta**
>
> These methods are in public beta and may change with future releases.

## Syntax

```typescript
element.getVisibility(): Promise<boolean>
element.getVisibility(options: { bindings: true }): Promise<boolean | BindingValue | null>
```

## Parameters

* **`options`** *(optional)*: `{ bindings: true }` — When passed, returns binding metadata instead of the resolved boolean value if the visibility is bound to a data source.

## Returns

* **`Promise<boolean>`**: `true` if the element is visible, `false` if it is hidden.
* **`Promise<boolean | BindingValue | null>`** (when `{ bindings: true }` is passed): A `BindingValue` object if the visibility is bound to a data source, or `null` if the visibility is unset.

## Example

```typescript
const element = await webflow.getSelectedElement();

if (element?.visibility) {

  // Check current visibility
  const isVisible = await element.getVisibility();
  console.log(isVisible); // true or false

  // Read binding metadata
  const value = await element.getVisibility({ bindings: true });
  // Returns BindingValue when bound, or boolean when static
}
```

## Designer Ability

Checks for authorization only.

| Designer Ability    | Locale | Branch | Workflow | Sitemode |
| :------------------ | :----- | :----- | :------- | :------- |
| **canAccessCanvas** | Any    | Any    | Any      | Any      |