---
title: "What is an iterator?"
description: "An iterator expands one source row into many child rows — frames, sentences, pages — and keeps a pointer back to the source."
url: "https://pixeltable.com/learn/what-is-an-iterator"
updated: "2026-09-29"
vertical: "Multimodal data"
doc: "https://docs.pixeltable.com/howto/cookbooks/video/video-extract-frames"
---

# What is an iterator?

An iterator expands one source row into many child rows — frames, sentences, pages — and keeps a pointer back to the source.

Updated: 2026-09-29
Part of [What is a view?](https://pixeltable.com/learn/what-is-a-view).

## On this page

- [How it works](https://pixeltable.com/learn/what-is-an-iterator#how-it-works)
- [What it is not](https://pixeltable.com/learn/what-is-an-iterator#what-it-is-not)
- [Comparison](https://pixeltable.com/learn/what-is-an-iterator#comparison)
- [Where Pixeltable fits](https://pixeltable.com/learn/what-is-an-iterator#where-pixeltable-fits)
- [Questions](https://pixeltable.com/learn/what-is-an-iterator#questions)

## How it works {#how-it-works}


- The iterator reads a typed column on the base.
- Each output becomes a row of the view.
- If the source row changes, the child rows that came from it are the ones that update.

## What it is not {#what-it-is-not}

It is not a Python for-loop you run once and dump into another store.

## iterator: this, and the thing it is confused with {#comparison}

|  | This | Not this |
| --- | --- | --- |
| Input | One video, document, or string | A folder of files you glob |
| Output | Many rows tied to that source | A flat list with no parent |
| Refresh | On change of the source row | Rerun the loop and reload |

## Where Pixeltable fits {#where-pixeltable-fits}

Pixeltable iterators are arguments on a view: frame_iterator, document_splitter, string_splitter, audio_splitter.

## Questions {#questions}

### How does iterator work? {#faq-1}

The iterator reads a typed column on the base. Each output becomes a row of the view. If the source row changes, the child rows that came from it are the ones that update.

### What is iterator often confused with? {#faq-2}

It is not a Python for-loop you run once and dump into another store.

## In the blog

- [String or List of Strings in One Pixeltable Column?](https://pixeltable.com/blog/pixeltable-string-or-list-columns-json-array)

## Related

- [Documentation](https://docs.pixeltable.com/howto/cookbooks/video/video-extract-frames)
- [Iterate on Your Data, Not Your Infrastructure: The Multimodal Experimentation Loop](https://pixeltable.com/blog/iterate-on-data-not-infrastructure)
- [Video intelligence pipeline](https://pixeltable.com/use-cases/video-content-analysis)
