도구스개발

페이지네이션 계산기

전체 개수·페이지 크기·페이지 번호로 offset·limit·전체 페이지 수·이 페이지의 항목 범위를 계산합니다.

이 페이지에 보이는 항목

41~60번째

전체 63쪽 중 3쪽 · 이 페이지 20개

전체 페이지 수63쪽
요청한 페이지 번호로 계산3쪽
offset (0부터 시작)40
limit20
이전 페이지 있음
다음 페이지 있음

SQL 쿼리에 바로 쓰는 값

LIMIT 20 OFFSET 40

페이지 번호는 1부터, offset은 0부터 셉니다. 화면에 보여줄 페이지 번호는 사람이 읽기 편하게 1부터 세지만, SQL의 LIMIT/OFFSET이나 대부분의 REST API는 0부터 세는 offset을 받습니다. offset = (페이지 번호 − 1) × 페이지당 항목 수로 변환합니다.
요청한 페이지 번호가 범위를 벗어나면 안으로 맞춥니다. 전체 페이지 수보다 큰 번호를 요청하면 마지막 페이지로, 0 이하를 요청하면 1페이지로 계산합니다. 실제 서버에서도 같은 방식으로 방어하는 경우가 많습니다 — 그렇지 않으면 빈 페이지나 에러가 나갈 수 있습니다.

사용 방법

  1. 1전체 항목 수를 입력합니다.
  2. 2페이지당 항목 수(페이지 크기)와 보려는 페이지 번호를 입력합니다.
  3. 3offset·limit과 이 페이지에 실제로 보이는 항목 범위가 계산됩니다.

자주 묻는 질문

offset = (페이지 번호 − 1) × 페이지당 항목 수입니다. 페이지 번호는 사람이 보는 1부터 세는 번호이고, offset은 SQL의 LIMIT/OFFSET이나 대부분의 REST API가 쓰는 0부터 세는 값입니다. 1페이지의 offset은 항상 0입니다.

전체 항목 수를 페이지 크기로 나눈 값을 올림합니다 — ceil(전체 개수 ÷ 페이지 크기). 예를 들어 95개를 10개씩 나누면 9.5쪽이 아니라 10쪽이 되고, 마지막 10쪽에는 5개만 담깁니다.

이 계산기는 마지막 페이지로 맞춰 계산합니다. 0 이하의 번호를 넣으면 1페이지로 맞춥니다. 실제 서비스에서도 이런 방어 처리를 하지 않으면 빈 결과나 에러가 나갈 수 있어, 클라이언트가 잘못된 페이지 번호를 보낼 가능성을 항상 감안해야 합니다.

이름은 비슷하지만 전혀 다른 개념입니다. pagerank는 웹페이지 중요도를 계산하는 알고리즘이고, page-replacement는 운영체제 메모리 관리의 페이지 교체 정책을 다룹니다. 이 계산기는 API·DB 쿼리 설계에서 반복되는 offset/limit 페이지네이션 계산만 다룹니다.

알아두면 좋은 점

  • 커서 기반(cursor-based) 페이지네이션은 다루지 않습니다. offset 방식이 아니라 정렬 기준값을 커서로 쓰는 방식이라 계산식 자체가 다릅니다.
  • 전체 항목 수가 실시간으로 바뀌는 목록(게시판 등)에서는 offset 방식이 페이지를 넘기는 사이 항목이 밀려 중복·누락이 생길 수 있습니다.

함께 보면 좋은 도구

마지막 검증: 2026년 9월 3일 · 결과는 참고용 추정치입니다.