# Tabs and tab variants > Learn how to configure tabs and tab variants in Fern documentation. Group content sections with custom icons and display multiple perspectives. Tabs let you group sections of your documentation together, while tab variants allow you to display different content perspectives within a single tab. ## Tabs Add `tabs` to group sections together. The example below shows tabs for `Help Center`, `API Reference`, and an external link to `Github`. Each tab has a `title` and `icon`. {/* */} ```yaml title="docs.yml" tabs: api: display-name: API Reference icon: puzzle # Font Awesome icon help: display-name: Help center icon: ./assets/icons/help-icon.svg # Custom image file github: display-name: GitHub icon: brands github # Font Awesome icon href: https://github.com/fern-api/fern target: _blank # Link opens in a new tab navigation: - tab: api layout: - section: Introduction contents: - page: My page path: my-page.mdx - api: API Reference - tab: help layout: - section: Help center contents: - page: Contact us path: contact-us.mdx - tab: github ``` {/* */} Icons can be in three formats: * **Font Awesome icons**: Use icon names like `fa-solid fa-rocket`. Pro and Brand Icons from Font Awesome are supported. * **Custom image files**: Use relative paths to image files (e.g., `./assets/icons/my-icon.svg` or `../assets/icons/my-icon.png`). Paths are relative to the `docs.yml` file. * **Inline SVG**: Provide an SVG string wrapped in quotes (e.g., `"..."`). Here's an example of how a tabs implementation renders: Tabs displayed in the sidebar (default) ### Tabs placement Tabs display in the left sidebar by default. To display them horizontally, set `tabs-placement` to `header` in your [layout configuration](/docs/configuration/site-level-settings#layout-configuration). ```yaml layout: tabs-placement: header ``` ## Tab variants Tab variants let you display different content variations within a single tab, and [support RBAC](/learn/docs/authentication/rbac). This is useful for showing different user types, implementation approaches, or experience levels without creating separate tabs. Use **variants** for different perspectives on the same content area (REST vs. GraphQL, beginner vs. advanced). Use **tabs** for completely different documentation sections (guides vs. API Reference). ### Basic usage Define a tab with a `variants` property instead of a `layout` property. Each variant has its own title and layout. The example below shows two variants for the `Help Center` tab. ```yaml title="docs.yml" startLine=20 {22-34} tabs: api: display-name: API Reference icon: puzzle help: display-name: Help center icon: home github: display-name: GitHub icon: brands github href: https://github.com/fern-api/fern navigation: - tab: api layout: - section: Introduction contents: - page: My page path: my-page.mdx - api: API Reference - tab: help variants: - title: For developers layout: - section: Getting started contents: - page: Quick start path: ./pages/dev-quickstart.mdx - title: For product managers layout: - section: Getting started contents: - page: Overview path: ./pages/pm-overview.mdx - tab: github ``` ### Variant properties Display name for the variant Navigation structure using the same format as regular tab layouts Text displayed below the variant title Icons can be in three formats: * **Font Awesome icons**: Use icon names like `fa-solid fa-rocket`. Pro and Brand Icons from Font Awesome are supported. * **Custom image files**: Use relative paths to image files (e.g., `./assets/icons/my-icon.svg` or `../assets/icons/my-icon.png`). Paths are relative to the `docs.yml` file. * **Inline SVG**: Provide an SVG string wrapped in quotes (e.g., `"..."`). Custom URL slug for the variant Exclude the variant slug from URLs Hide the variant from navigation When true, this variant displays by default. If not specified, the first variant in the list is used. Role-based access control for the variant Conditional display configuration