# Calendar

> Part of the NocoDB documentation (Product docs > Tables > Views > View Types). Index of all pages: https://nocodb.com/llms.txt. Any docs page is available as Markdown by adding `.md` to its URL.

URL: https://nocodb.com/docs/product/tables/views/view-types/calendar
Last updated: 2026-10-03

Use the Calendar view in NocoDB to show records on a calendar by date and move them between dates.

The Calendar view shows your records in a calendar. Drag a record to a different date to move it. You can show the records by day, week, 2 weeks, month, 6 weeks or year. This section gives all the operations for the Calendar view.

<img alt="1010-2 Calendar" src={__img0} placeholder="blur" />

<AskNocoAI>
  <Prompt>
    Create a calendar view of this table using [Date]
  </Prompt>

  <Prompt>
    Create a calendar view of [Events] that shows only [confirmed] events
  </Prompt>

  <Prompt>
    Add a [Due Date] field and create a calendar view on it
  </Prompt>
</AskNocoAI>

## Calendar View Actions

1. [Create a New Calendar View](/docs/product/tables/views/create-view#create-new-view)
2. [Rename an Existing Calendar View](/docs/product/tables/views/actions-on-view#rename-view)
3. [Duplicate a Calendar View](/docs/product/tables/views/actions-on-view#duplicate-view)
4. [Remove a Calendar View](/docs/product/tables/views/actions-on-view#delete-view)
5. [Share a Calendar View](/docs/product/tables/views/share-view)
6. [Lock Calendar View for Edits](/docs/product/tables/views#view-permission-types)

## Timescales

The Calendar view has 8 timescales. Select a timescale from the timescale dropdown in the toolbar.

<img alt="calendar-view-modes" src={__img1} placeholder="blur" />

### Day

The day view shows the records for one day. For records with DateTime fields, drag a record to a different timeslot in the day.

<img alt="day-view" src={__img2} placeholder="blur" />

### 3 Days

The 3 days view shows the records for three days in one frame. This layout is between Day and Week. The view sorts the records by their scheduled time. To reschedule a record, drag it to a different day. For records with DateTime fields, you can also drag a record to a different timeslot.

### Week

The week view shows the records for one week. Drag a record to a different day in the week. For records with DateTime fields, drag a record to a different timeslot in the day.

Each record card can show many fields at the same time. For DateTime cards, the hover tooltip shows the field names with their values. If a record has more non-empty visible fields than the card can show, a `+N more` line shows the number of hidden fields.

<img alt="week-view" src={__img3} placeholder="blur" />

### 2 Weeks

The 2 weeks view shows the records for two weeks at the same time. Drag a record to a different day in the span.

<img alt="2-week-view" src={__img4} placeholder="blur" />

### Month

The month view shows the records for a full month. Drag a record to a different day in the month.

<img alt="month-view" src={__img5} placeholder="blur" />

### 6 Weeks

The 6 weeks view shows the records for six weeks. Use it to plan for more than one month. Drag a record to a different day in the span.

<img alt="6-week-view" src={__img6} placeholder="blur" />

### Year

The year view gives an overview of the records for the full year. A blue badge on a date shows that the date has records. Click a date to see the records for that date.

<img alt="year-view" src={__img7} placeholder="blur" />

### Custom

The Custom timescale lets you set your own span instead of a fixed option.

1. Open the timescale dropdown.
2. Click `Custom…`.
3. In the **Timescale** config, enter a count from **1 to 6**.
4. Select the unit: **Days** or **Weeks**.
5. Click `Set`. The dropdown trigger shows your span, for example `2 Days` or `3 Weeks`.

The view keeps your custom span.

When the unit is **Weeks**, you can use the weekend display options (Show, Collapse, Hide weekends) given below. These options are the same as in the timescales of one week or longer.

{/* SCREENSHOT NEEDED: Calendar timescale dropdown with "Custom…" selected, showing the Timescale config with the count input (1-6) and Days/Weeks unit selector */}

<Callout type="info">
  In the Week, 2 Weeks, Month, and 6 Weeks timescales, hold 

  **Shift**

   while clicking the previous or next arrows to move a full week at a time. Your selected timescale is remembered per view.
</Callout>

### Weekend Display

In the timescales of one week or longer (Week, 2 Weeks, Month, 6 Weeks), the view-mode dropdown has three options for weekends:

| Option                | Result                                                                                       |
| --------------------- | -------------------------------------------------------------------------------------------- |
| **Show weekends**     | Saturday and Sunday show at full width, the same as weekdays.                                |
| **Collapse weekends** | Saturday and Sunday show narrow and merged. They use less horizontal space but stay visible. |
| **Hide weekends**     | The calendar does not show Saturday and Sunday.                                              |

<img alt="Weekend display options" src={__img8} placeholder="blur" />

When you select **Collapse weekends**, the Saturday and Sunday columns are narrow but stay visible:

<img alt="Collapsed weekends" src={__img9} placeholder="blur" />

## Record Height

Use the **Record Height** control in the toolbar to set the vertical space of the records. This control is the same as the Record Height control in Grid view.

The control is always available in the 2 Weeks, Month, and 6 Weeks timescales. In the 3 Days and Week timescales, the control shows only when the start field is a **Date** field.

| Option                                        | Result                                                                                                                                                                          |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Compact** (View fits to screen)             | The default. The calendar fits in the screen height. In month view, the records that do not fit go into a `+N more` popover. In week view, scroll the cell to see more records. |
| **Expanded** (View fills to show all records) | The cells grow to show all records. Scroll the calendar body vertically as necessary.                                                                                           |

<img alt="Record height options" src={__img10} placeholder="blur" />

## Event Themes

<Callout type="info">
  Event themes are available on 

  **NocoDB Cloud**

   paid plans and licensed self-hosted deployments.
</Callout>

Use the **Event theme** picker to set how the calendar draws event chips. The picker is the palette icon in the calendar toolbar. Select one of five styles. The view keeps your selection.

**Bordered** (default): Outlined chip with a color bar.

<img alt="Bordered event theme" src={__img11} placeholder="blur" />

**Dot**: Color dot with plain text.

<img alt="Dot event theme" src={__img12} placeholder="blur" />

**Solid**: Filled block in the event color.

<img alt="Solid event theme" src={__img13} placeholder="blur" />

**Minimal**: Color bar with no border or fill.

<img alt="Minimal event theme" src={__img14} placeholder="blur" />

**Pill**: Time shown as a color pill.

<img alt="Pill event theme" src={__img15} placeholder="blur" />

<Callout type="info">
  **Pill**

   is available only for date-time start fields. On a date-only calendar it appears disabled.
</Callout>

Event colors come from the [record coloring](/docs/product/tables/table-operations/record-colouring) feature. Events without a row color are neutral gray.

## Calendar View Operations

### Customize Record Label

You can change the record label on the calendar. Click the `Fields` menu in the toolbar. In the dropdown:

* Use the toggle to show or hide a field on the calendar.
* Use reorder to change the order of the fields on the calendar.
* Use the format menu options to change how a field shows on the calendar. The formats are Bold, Italicize and Underline.

<img alt="fields-menu" src={__img16} placeholder="blur" />

### Add New Records

To add a new record to the calendar:

1. Click the `+` icon at the bottom right of the calendar. Or, double-click white space in the calendar.
2. In the form, fill in the details.
3. Click `Save`.

### Expand Record Details

To see the details of a record, click the record. The record expands and shows all its details.

### Edit Record Details

To move a record to a different date or time, drag it. To edit other details of a record:

1. Click the record. The record expands.
2. Make the necessary changes.
3. Click `Save`.

### Delete Record

To delete a record:

1. Click the record. The record expands.
2. In the record context menu, click `Delete`.
3. In the confirmation dialog, click `Delete`.

## Configuring Date Range

<Callout type="info">Calendar date range (end date) is available on **NocoDB Cloud** (Plus plan and above) and licensed self-hosted deployments (Business plan and above).</Callout>
<img alt="date-range" src={__img17} placeholder="blur" />

In NocoDB, the calendar view can show a date range. To set the range, select a start date field and an end date field. When you set up the calendar view, click `+ End Date`. Then select the date field to use as the end date. The calendar view then shows each record as a range block from the start date to the end date.

<img alt="date-range" src={__img18} placeholder="blur" />

<img alt="date-range" src={__img19} placeholder="blur" />

<Callout type="info">
  The date range configuration is currently supported only for the Date field type. Support for DateTime field type will be added in the future
</Callout>

You can also set the date range when you create the view. Click `+ Add Field`. Then select the date field to use as the end date.

<img alt="date-range" src={__img20} placeholder="blur" />

When the date range is on, drag a record to change its start and end dates. Resize a record to change its duration.

## Other toolbar operations

1. [Apply Filters to Display Specific Records on the Calendar](/docs/product/tables/table-operations/filter)
2. [Sort Records on the Calendar by One or More Criteria](/docs/product/tables/table-operations/sort)
3. [Perform Quick Searches for Specific Data Within Fields](/docs/product/tables/table-operations/search)
4. [Export Data to CSV, JSON, Excel, or iCalendar (.ics) Format](/docs/product/tables/table-operations/download#download-data)

---

## Related pages

- [Grid](https://nocodb.com/docs/product/tables/views/view-types/grid.md): Use the Grid view in NocoDB to see and edit records in rows and columns, as in a spreadsheet.
- [Gallery](https://nocodb.com/docs/product/tables/views/view-types/gallery.md): Use the Gallery view in NocoDB to show records as cards with image thumbnails.
- [Form](https://nocodb.com/docs/product/tables/views/view-types/form.md): Use the Form view in NocoDB to build forms that add records to a table, with validations, conditions and scheduling.
- [Kanban](https://nocodb.com/docs/product/tables/views/view-types/kanban.md): Use the Kanban view in NocoDB to show records as cards in stacks and drag them between stacks.
- [List](https://nocodb.com/docs/product/tables/views/view-types/list.md): Use the List view in NocoDB to show records as a multi-level list grouped by linked records, with nested records.
- [Map](https://nocodb.com/docs/product/tables/views/view-types/map.md): Use the Map view in NocoDB to show records as markers on a map from a GeoData field.
- [Timeline](https://nocodb.com/docs/product/tables/views/view-types/timeline.md): Use the Timeline view in NocoDB to show records as bars on a time axis from a start date to an end date.
- [Gantt](https://nocodb.com/docs/product/tables/views/view-types/gantt.md): Use the Gantt view in NocoDB to plan records as bars on a timeline with dependencies and milestones.
