---
title: "Kafka offsets are per partition, not global"
description: "Two partitions each number their records from offset 0, so a Kafka offset means nothing without its partition, and ordering stops at the partition boundary."
url: https://monedula.dev/kafka-simulator/scenarios/offsets-per-partition/
---

# Kafka offsets are per partition, not global

Scenario 00.1.4 · Offsets are per-partition. Anatomy · Beginner · about 2 min · Apache Kafka 4.3.

Offset = position within a partition, not a global id. Ordering holds inside a partition, never across them.

Run it: https://monedula.dev/kafka-simulator/playground/?scenario=00.1.4

## What you start with

An offset is a position within a single partition, not a global sequence number across the topic. With records spread over several partitions, watch each partition number its own records from 0 independently.

## Step by step

1. **Empty topic** (t+0.000s): Two partitions will receive records. Watch the offsets. [Open at this step](https://monedula.dev/kafka-simulator/playground/?scenario=00.1.4&t=0)
2. **Offset 0 in two partitions** (t+0.850s): Keys C and F landed in two different partitions, each at offset 0. Two records, same offset number - they are different records in different partitions. [Open at this step](https://monedula.dev/kafka-simulator/playground/?scenario=00.1.4&t=1)
3. **Offset is per-partition, not a global id** (t+1.250s): Both partitions now hold offsets 0 and 1. 'Offset 1' is ambiguous on its own - it means a different record in each partition. Ordering is guaranteed only within a partition, never across them. [Open at this step](https://monedula.dev/kafka-simulator/playground/?scenario=00.1.4&t=2)

## The takeaway

Offsets are only comparable within the same partition; there is no global order across partitions, so ordering guarantees stop at the partition boundary.

## Further reading

- [Apache Kafka documentation](https://kafka.apache.org/43/getting-started/introduction/)
