> For the complete documentation index, see [llms.txt](https://docs.ninox.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ninox.com/user-hub/common-tasks/work-with-data/filter-records-in-a-table.md).

# Filter records in a table

Use field-specific conditions to focus a Table view on relevant records.

Filters limit a Table view to records that match the conditions you set.

<figure><img src="https://2148310202-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBmcFtwhLmWInCVTaddAT%2Fuploads%2Fs8oI9YX5Tr566TOIuXA6%2Ftable%20view_filter_editor_en.png?alt=media&amp;token=afc20ace-2d5f-4e50-b458-447c9eedf6ed" alt=""><figcaption></figcaption></figure>

A filter has three parts:

* **Where** selects the field to check.
* **Operator** defines how Ninox compares that field.
* **Value** supplies the value to match when required.

The available operators and value control depend on the selected field type. For example, text fields accept typed values. Choice fields offer configured options. File fields only check whether a file exists.

{% hint style="info" %}
A filter only changes which records appear in the current table view. It does not change or delete records.
{% endhint %}

## Add a filter

{% stepper %}
{% step %}

#### Open the filter options

Open the table you want to filter.

Click **Filter** in the view toolbar.
{% endstep %}

{% step %}

#### Choose a field

Under **Where**, select the field that contains the data you want to filter.
{% endstep %}

{% step %}

#### Set the operator and value

Under **Operator**, choose the comparison that fits the field.

Enter or select a value when the operator requires one.
{% endstep %}

{% step %}

#### Add or remove conditions

Select another field in **Where** to add a condition and narrow the records further.

After you add a filter condition, the number in parentheses shows how many conditions are active.

Click <i class="fa-trash-can">:trash-can:</i> **Remove filter** to delete the condition.
{% endstep %}
{% endstepper %}

## Filter by what you want to match

Choose the field you want to filter. Then select an operator and enter the required value.

### Match an exact value

Use **is** or **is not** when the field must equal a complete value.

* **Text**, **Multi-line text**, **Email**, **Phone**, **URL**, **Location**, **Appointment**, and **Rich text**: enter the complete value.
* **Choice fields**: select the choice or choices to match.
* **Number**: enter the exact number.
* **Date**: enter a date or select it from the calendar.
* **Date and time**: enter the complete date and time.
* **Time**: enter the time in `hh:mm` format, such as `10:00`.
* **Duration**: enter the duration in `hh:mm` format, such as `01:00`.
* **Yes/No**: select **Yes** or **No**.
* **User**: enter the exact user.
* **Color**: enter a color name, hex code, or RGB value.
* **Icon**: enter the icon name.

{% hint style="info" %}
For a **Color** field, hover over a color in the table to see its name.\
For an **Icon** field, click the icon and check its name in the icon picker.
{% endhint %}

### Match part of a value

Use **contains** or **does not contain** when any part of the value can match. Enter only the part you want to find.\
These operators are available for **Text**, **Multi-line text**, **Email**, **Phone**, **URL**, **Location**, **Appointment**, and **Rich text**.

### Match values from a list

Use **in list** or **not in list** when any of several values can match.\
These operators are available for **Text**, **Multi-line text**, **Email**, **Phone**, **URL**, **Location**, **Appointment**, and **Choice fields**.

For text-based fields, enter complete values separated by commas. Matching is case-sensitive.\
For **Choice fields**, select the choices to match.

### Compare values or date ranges

Use **greater than**, **greater than or equal**, **less than**, or **less than or equal** to compare values.\
These operators are available for **Number**, **Date**, **Date and time**, **Time**, and **Duration**.

Use **in range** for **Date** and **Date and time**. Select a predefined period such as **Today** or **This week**.\
Enter times and durations in `hh:mm` format.

### Find empty or filled fields

Use **is empty** to find records without a value. Use **is not empty** to find records with a value.\
These operators are available for all fields in this reference. **File**, **Signature**, and **Logic** fields only support these operators.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.ninox.com/user-hub/common-tasks/work-with-data/filter-records-in-a-table.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
