# Pagination (/docs/orm/prisma-client/queries/pagination)

Location: ORM > Prisma Client > Queries > Pagination

Prisma Client supports both offset pagination and cursor-based pagination.

Offset pagination [#offset-pagination]

Use `skip` and `take` when you need page numbers or shallow navigation through a result set:

```ts
const posts = await prisma.post.findMany({
  skip: 20,
  take: 10,
});
```

Offset pagination is straightforward, but it becomes more expensive as the offset grows.

Cursor-based pagination [#cursor-based-pagination]

Use `cursor` and `take` when you want stable, scalable pagination for feeds, timelines, or large datasets:

```ts
const firstPage = await prisma.post.findMany({
  take: 10,
  orderBy: {
    id: "asc",
  },
});

const lastPost = firstPage[firstPage.length - 1];

const nextPage = lastPost
  ? await prisma.post.findMany({
      take: 10,
      skip: 1,
      cursor: {
        id: lastPost.id,
      },
      orderBy: {
        id: "asc",
      },
    })
  : [];
```

Which approach to choose [#which-approach-to-choose]

* Use offset pagination when users need to jump directly to a numbered page.
* Use cursor-based pagination when you care more about performance and consistency as the dataset grows.

Related pages [#related-pages]

* [Filtering and sorting](/orm/prisma-client/queries/filtering-and-sorting)
* [Query Insights](/query-insights)
* [Prisma Client API reference](/orm/reference/prisma-client-reference)

## Related pages

- [`Aggregation, grouping, and summarizing`](https://www.prisma.io/docs/orm/prisma-client/queries/aggregation-grouping-summarizing): Use Prisma Client to aggregate, group by, count, and select distinct.
- [`CRUD`](https://www.prisma.io/docs/orm/prisma-client/queries/crud): Learn how to perform create, read, update, and delete operations
- [`Excluding fields`](https://www.prisma.io/docs/orm/prisma-client/queries/excluding-fields): Learn how to exclude fields from Prisma Client results with the omit option.
- [`Filtering and sorting`](https://www.prisma.io/docs/orm/prisma-client/queries/filtering-and-sorting): Learn how to filter Prisma Client queries with where and sort results with orderBy.
- [`Full-text search`](https://www.prisma.io/docs/orm/prisma-client/queries/full-text-search): Learn how to search text fields with Prisma Client using your database's native full-text search support.