# Tiles (/components/tiles)

<!-- agent-signals: reading_time_min: 2 · est_tokens: 1148 · updated: 2026-07-30 -->
Related: [Accordions](/components/accordions.md), [Badge](/components/badge.md), [Banner](/components/banner.md), [Callouts](/components/callouts.md), [Cards](/components/cards.md), [Code groups](/components/code-groups.md)

Use tiles to create visual showcase elements with a patterned background, title, and description. Tiles are ideal for displaying component previews, feature highlights, or navigation items in a grid layout.

<Tile href="/components/tiles" title="Tile title" description="Short description">
  <img src="/_assets/9e6575f0f7972e0454d56d7ab0a2533e656893c7e463e2260219a35cde95a861" alt="Tile preview placeholder" className="block dark:hidden" />

  <img src="/_assets/cc7bd3930b4208388c59af871814e660f682871602d61942be9bf31eb8580d25" alt="Tile preview placeholder (dark mode)" className="hidden dark:block" />
</Tile>

```mdx title="Tile example"
<Tile href="/your-link" title="Tile title" description="Short description">
  <img src="/images/your-preview-light.svg" alt="Tile preview" className="block dark:hidden" />
  <img src="/images/your-preview-dark.svg" alt="Tile preview (dark mode)" className="hidden dark:block" />
</Tile>
```

Tiles can contain any image, SVG, or other React node that you want to display in the preview area. Provide separate light and dark mode assets using the `block dark:hidden` and `hidden dark:block` utility classes so the preview matches the active theme.

The tile preview area is a fixed-height, responsive container.

* **Aspect ratio**: Use a 16:9 or 4:3 landscape ratio.
* **Dimensions**: Design for at least 800×450 pixels.
* **Format**: Prefer SVG for illustrations, UI mockups, and diagrams. Use WebP or PNG for photographs and screenshots.
* **File size**: Keep each asset under 200 KB to preserve page load performance, especially in multi-tile grids.
* **Padding**: Include any surrounding padding in the asset. The tile does not add internal margin around the child image.

## Grid layout [#grid-layout]

Combine tiles with the [columns component](/components/columns) to create a responsive grid of visual previews.

<Columns cols="3">
  <Tile href="/components/tiles" title="Tile one" description="Short description">
    <img src="/_assets/9e6575f0f7972e0454d56d7ab0a2533e656893c7e463e2260219a35cde95a861" alt="Tile preview placeholder" className="block dark:hidden" />

    <img src="/_assets/cc7bd3930b4208388c59af871814e660f682871602d61942be9bf31eb8580d25" alt="Tile preview placeholder (dark mode)" className="hidden dark:block" />
  </Tile>

  <Tile href="/components/tiles" title="Tile two" description="Short description">
    <img src="/_assets/9e6575f0f7972e0454d56d7ab0a2533e656893c7e463e2260219a35cde95a861" alt="Tile preview placeholder" className="block dark:hidden" />

    <img src="/_assets/cc7bd3930b4208388c59af871814e660f682871602d61942be9bf31eb8580d25" alt="Tile preview placeholder (dark mode)" className="hidden dark:block" />
  </Tile>

  <Tile href="/components/tiles" title="Tile three" description="Short description">
    <img src="/_assets/9e6575f0f7972e0454d56d7ab0a2533e656893c7e463e2260219a35cde95a861" alt="Tile preview placeholder" className="block dark:hidden" />

    <img src="/_assets/cc7bd3930b4208388c59af871814e660f682871602d61942be9bf31eb8580d25" alt="Tile preview placeholder (dark mode)" className="hidden dark:block" />
  </Tile>
</Columns>

```mdx title="Grid layout example"
<Columns cols={3}>
  <Tile href="/link-one" title="Tile one" description="Short description">
    <img src="/images/preview-one-light.svg" alt="Tile preview" className="block dark:hidden" />
    <img src="/images/preview-one-dark.svg" alt="Tile preview (dark mode)" className="hidden dark:block" />
  </Tile>
  <Tile href="/link-two" title="Tile two" description="Short description">
    <img src="/images/preview-two-light.svg" alt="Tile preview" className="block dark:hidden" />
    <img src="/images/preview-two-dark.svg" alt="Tile preview (dark mode)" className="hidden dark:block" />
  </Tile>
  <Tile href="/link-three" title="Tile three" description="Short description">
    <img src="/images/preview-three-light.svg" alt="Tile preview" className="block dark:hidden" />
    <img src="/images/preview-three-dark.svg" alt="Tile preview (dark mode)" className="hidden dark:block" />
  </Tile>
</Columns>
```

## Properties [#properties]

<ResponseField name="href" type="string">
  URL to navigate to when users click the tile.
</ResponseField>

<ResponseField name="title" type="string">
  The title displayed below the tile preview.
</ResponseField>

<ResponseField name="description" type="string">
  A short description displayed below the title.
</ResponseField>

<ResponseField name="children" type="React.ReactNode">
  Content displayed inside the tile preview area, typically images or SVGs.
</ResponseField>
