--- title: Tabs Field label: Tabs order: 170 desc: The Tabs field is a great way to organize complex editing experiences into specific tab-based areas. keywords: tabs, fields, config, configuration, documentation, Content Management System, cms, headless, javascript, node, react, express --- The Tabs field is presentational-only and only affects the Admin panel (unless a tab is named). By using it, you can place fields within a nice layout component that separates certain sub-fields by a tabbed interface. ![Tabs field type used to separate Hero fields from Page Layout](https://payloadcms.com/images/docs/fields/tabs/tabs.jpg) *Tabs field type used to separate Hero fields from Page Layout* ### Config | Option | Description | | ---------------- | ----------- | | **`tabs`** * | Array of tabs to render within this Tabs field. | | **`admin`** | Admin-specific configuration. See the [default field admin config](/docs/fields/overview#admin-config) for more details. | | **`custom`** | Extension point for adding custom data (e.g. for plugins) | #### Tab-specific Config Each tab has its own required `label` and `fields` array. You can also optionally pass a `description` to render within each individual tab. | Option | Description | | ----------------- | ----------- | | **`name`** | An optional property name to be used when stored and retrieved from the database. [More](/docs/fields/overview#field-names) | | **`label`** * | The label to render on the tab itself. | | **`fields`** * | The fields to render within this tab. | | **`description`** | Optionally render a description within this tab to describe the contents of the tab itself. | *\* An asterisk denotes that a property is required.* ### Example `collections/ExampleCollection.ts` ```ts import { CollectionConfig } from 'payload/types'; export const ExampleCollection: CollectionConfig = { slug: 'example-collection', fields: [ { type: 'tabs', // required tabs: [ // required { label: 'Tab One Label', // required description: 'This will appear within the tab above the fields.', fields: [ // required { name: 'someTextField', type: 'text', required: true, }, ], }, { name: 'tabTwo', label: 'Tab Two Label', // required fields: [ // required { name: 'numberField', // accessible via tabTwo.numberField type: 'number', required: true, }, ], } ] } ] } ```