# n8n Filter Node Examples: Skip Rows You Don't Want

> How the n8n Filter node keeps only matching items: is not empty, equals, contains, number and date conditions, and when to use If instead.

Source: https://learn.ynteractive.com/content/blog/n8n-filter-node-examples · Updated 2026-10-20 · Free from Stepthrough (https://learn.ynteractive.com)

Quick answer

The [n8n Filter node](https://learn.ynteractive.com/content/glossary/filter-node) passes on only the items that match its [conditions](https://learn.ynteractive.com/content/glossary/conditional-logic) and quietly drops the rest, so the nodes after it never see them. Set **value1** to the field you want to test, pick an operator such as **is not empty** or **is equal to**, and click **Execute step** to see how many items survive. In the free [Daily Job Alerts](https://learn.ynteractive.com/content/n8n-daily-job-alerts-google-sheets-gmail) lesson, a Filter on the Tech column drops the one job with no tech, so six rows become five emails.

Last updated October 20, 2026

[Take the free module →](https://learn.ynteractive.com/courses/n8n-jump-start/14)Module 14 of the free [n8n Jump Start](https://learn.ynteractive.com/courses/n8n-jump-start) course, about 10 minutes. No account needed.

By [Robert Breen](https://learn.ynteractive.com/content/about) · Published October 20, 2026 · Updated October 20, 2026 · 3 min read

n8n · Filter · Examples

## What does the Filter node do?

It checks every item against your conditions. Items that pass go to the next node; items that fail are dropped. There's only one output. The glossary has a short [Filter node](https://learn.ynteractive.com/content/glossary/filter-node) entry.

## How is it set up in the lesson?

Rapid Flow Plumbing's sheet has six jobs; the last one has no tech yet.

1. Click the **+** after Google Sheets, type **filter** and choose **Filter**.
2. In **value1**, paste `{{ $json.Tech }}`.
3. Open the operator dropdown (it says **is equal to**) and under **String** choose **is not empty**.
4. Click **Execute step**.

Six rows in, **5 items** out. One Gmail node then runs five times, one email per job, and you never write a loop.

## Ten Filter conditions for office workflows

| Keep items where | value1 | Operator | value2 |
| --- | --- | --- | --- |
| A tech is assigned | `{{ $json.Tech }}` | String: is not empty |  |
| Status is Open | `{{ $json.Status }}` | String: is equal to | Open |
| Not cancelled | `{{ $json.Status }}` | String: is not equal to | Cancelled |
| Subject mentions [invoice](https://learn.ynteractive.com/content/glossary/invoice) | `{{ $json.subject }}` | String: contains | invoice |
| Email is a company address | `{{ $json.Email }}` | String: ends with | @ourclient.com |
| Total over $1,000 | `{{ $json.output.total }}` | Number: is greater than | 1000 |
| Score of 8 or more | `{{ $json.output.score }}` | Number: is greater than or equal to | 8 |
| Due before today | `{{ $json.Due }}` | Date & Time: is before | `{{ $today }}` |
| Opted in | `{{ $json.Consent }}` | Boolean: is true |  |
| A list has entries | `{{ $json.tasks }}` | Array: is not empty |  |

Combine conditions with **AND** (all must pass) or **OR** (any one).

## Filter or If?

Use Filter when you only care about the matching items. Use **If** when the non-matching items need their own path.

The [speed-to-lead lesson](https://learn.ynteractive.com/content/speed-to-lead-agent-n8n) uses an If: every lead gets an instant reply, but only leads scoring 8 or more go down the **true** branch to a Slack alert. A Filter would have been fine too, since the false branch does nothing, but If makes it easy to add a step for warm leads later. n8n If vs Switch covers the three options.

## Try it free, step by step

**Daily Job Alerts: Email Each Tech Their Jobs from Google Sheets with n8n**. Every morning at 7, n8n reads a plumbing company's jobs sheet, skips anything not assigned yet, and emails each job to the tech it's assigned to — customer, address, time and what's wrong. No AI… You do every step yourself in a practice copy of n8n, it checks your work as you go, and “Do it for me” finishes any step you get stuck on. Free, and nothing touches your real accounts.

[Start the free lesson](https://learn.ynteractive.com/modules/job-alerts)

[Or read the full step-by-step guide](https://learn.ynteractive.com/content/n8n-daily-job-alerts-google-sheets-gmail)

## Why does my Filter drop everything?

- **Wrong type.** A number stored as text compared with a Number operator can fail. Turn on the option to convert types, or compare as a string.
- **Extra spaces.** "Open " is not equal to "Open". Use `{{ $json.Status.trim() }}`.
- **Capitals.** Turn on **Ignore Case** for string comparisons.
- **The expression isn't one.** Make sure value1 is in Expression mode and the Result line shows a value.

## How do I see what was dropped?

Under the node's settings, turn on **Always Output Data** to see an empty result when nothing passes, or add a second Filter with the opposite condition while testing. In production, add an [error workflow](https://learn.ynteractive.com/content/glossary/error-workflow) or a summary email if dropped items matter.

## Key takeaways

- Filter keeps matching items and drops the rest; it has one output.
- "is not empty" is the quickest way to skip incomplete rows.
- Use If when the items that fail still need their own steps.
- Check types, spaces and capitals when a filter drops more than you expect.

## Frequently asked questions

**How do I filter rows in n8n?**

Add a Filter node after the node that returns the rows, set value1 to the column's expression, choose an operator and run it.

**How do I skip empty rows in n8n?**

Use a Filter with value1 set to the column and the String operator is not empty.

**What is the difference between Filter and If in n8n?**

Filter has one output and drops non-matching items. If has a true and a false output, so both groups continue.

**Which course is this in?**

The free [n8n Jump Start](https://learn.ynteractive.com/courses/n8n-jump-start) course. For another walkthrough of the same workflow, read [Email Each Tech Their Jobs Every Morning](https://learn.ynteractive.com/content/blog/n8n-daily-job-emails-google-sheets).

## Free lessons in this post

- [Daily Job Alerts: Email Each Tech Their Jobs from Google Sheets with n8n](https://learn.ynteractive.com/content/n8n-daily-job-alerts-google-sheets-gmail): Every morning at 7, n8n reads a plumbing company's jobs sheet, skips anything not assigned yet, and emails each job to the tech it's assigned to — customer, address…
- [Speed-to-Lead Agent: Answer Every Web Lead in 60 Seconds](https://learn.ynteractive.com/content/speed-to-lead-agent-n8n): Build an n8n workflow that scores every website lead with AI, emails a personal first reply within seconds, and pings Slack only when a lead is hot.

## Watch it in a free lesson: Speed-to-Lead Agent: Answer Every Web Lead in 60 Seconds

### Speed-to-Lead Agent: Answer Every Web Lead in 60 Seconds: video walkthrough

Full walkthrough · 3:28 · with captions

Build an n8n workflow that scores every website lead with AI, emails a personal first reply within seconds, and pings Slack only when a lead is hot. The whole lesson narrated step by step, recorded in Stepthrough’s simulated practice environment.

[Watch it with chapters and the full transcript](https://learn.ynteractive.com/content/speed-to-lead-agent-n8n#watch)

From the free lesson [Speed-to-Lead Agent: Answer Every Web Lead in 60 Seconds](https://learn.ynteractive.com/content/speed-to-lead-agent-n8n)

## Related terms

Plain-English definitions, each with an example from a free lesson.

[Filter node](https://learn.ynteractive.com/content/glossary/filter-node) · [Conditional logic](https://learn.ynteractive.com/content/glossary/conditional-logic) · [Invoice](https://learn.ynteractive.com/content/glossary/invoice) · [Apollo.io](https://learn.ynteractive.com/content/glossary/apollo-io) · [Automation](https://learn.ynteractive.com/content/glossary/automation) · [Dispatching](https://learn.ynteractive.com/content/glossary/dispatching) · [Get rows (reading a sheet)](https://learn.ynteractive.com/content/glossary/get-rows) · [Google Sheets (as an automation database)](https://learn.ynteractive.com/content/glossary/google-sheets)

[The full AI glossary](https://learn.ynteractive.com/content/glossary)

## Related prompts

- [Appointment reminder text prompt and examples](https://learn.ynteractive.com/content/prompts/appointment-reminder-text-prompt): Appointment reminder text examples and a ChatGPT prompt that writes day-before reminders: time window, who is coming, one prep…
- [Automation time savings estimate prompt](https://learn.ynteractive.com/content/prompts/automation-time-savings-estimate-prompt): Estimate what one automation saves from your own numbers only: minutes before and after, setup and upkeep, costs you look up…
- [Rental property repair coordination prompt](https://learn.ynteractive.com/content/prompts/rental-property-job-coordination-prompt): Coordinate a repair at a rental: a clear email to the owner or property manager about approval and billing, and a short access…
- [Tech daily job briefing prompt](https://learn.ynteractive.com/content/prompts/tech-daily-job-briefing-prompt): Turn today's job schedule and office notes into a short morning briefing for each technician, in time order, with unassigned…

[All free prompt templates](https://learn.ynteractive.com/content/prompts)

## Visual guides

The same ideas as quick visual guides: swipe through the slides, or read each one as text.

- [Email each tech their jobs at 7am with n8n](https://learn.ynteractive.com/content/visual/job-alerts-n8n): Every morning someone at Rapid Flow Plumbing copies the day's jobs into emails, one tech at a time. Hand it to n8n.
- [Mistake to Avoid: Scheduling Before Setting the Timezone](https://learn.ynteractive.com/content/visual/mistake-scheduling-before-the-timezone): A visual tip for n8n schedules: set the workflow timezone before the schedule, so 7am means 7am where your business is.
- [Mistake to Avoid: Sending Every Job Email to One Address](https://learn.ynteractive.com/content/visual/mistake-one-address-for-every-job): A visual tip for n8n and Gmail: make the To field an expression for the Tech Email column, written in square brackets because of the space.

[All visual guides](https://learn.ynteractive.com/content/visual)

## Keep reading

- [n8n Gmail Node Examples: Send, Draft, Wait for Approval](https://learn.ynteractive.com/content/blog/n8n-gmail-node-examples): Five n8n Gmail node setups from real workflows: send a message, create a draft, send and wait for approval, email type and the n8n footer.
- [n8n Data Mapping Examples: 20 Expressions to Copy](https://learn.ynteractive.com/content/blog/n8n-data-mapping-examples): Twenty n8n expressions from real workflows: sheet columns, names with spaces, webhook body fields, AI output paths, earlier nodes, dates and defaults.
- [n8n Information Extractor Examples: 3 Schemas That Work](https://learn.ynteractive.com/content/blog/n8n-information-extractor-examples): n8n Information Extractor examples for leads, invoices and resumes: the Text prompt, JSON example schemas, the model and mapping the output.

[All blog posts](https://learn.ynteractive.com/content/blog) · [All free tutorials](https://learn.ynteractive.com/content)
