Navigation Pattern
Slide Number Progress
A bottom-right current-over-total marker that shows how far the audience is through the deck.
Use Case
Workshops, training decks, and board packets where completion progress reduces orientation friction.
When to Use
Use when the audience benefits from knowing deck length, especially in facilitated sessions.
When to Avoid
Avoid in short pitch decks where progress text can make the experience feel longer than it is.
OPF Config Options
- Slide numbers
- Enabled
- Slide number text
- {{slide.number}} / {{deck.slideCount}}
- Date format
- Not used
- Logo position
- Not used
- Legal line
- Not used
- Classification line
- Not used
- Header content
- Not used
- Footer content
- Not used
- Hide on title slide
- Yes
Zone width and inset
The left, center and right zones of design.header and design.footer sit on the content inset: the slide's padding, the same left and right edge as the body, so a footer lines up with the content above it. They are three columns separated by a small gutter (2% of the slide width).
A zone with no content (no image, text, socials or date) lends its column to its neighbours. A lone zone spans the whole content width, so a long source line stays on one line; left and right together share the free centre; a center zone stays centred on the slide and only widens symmetrically. Right-to-left decks mirror the zones.
Zone text that still wraps past two lines is reported by the opf/furniture-wraps validation warning: shorten it, or move sources to a caption or the speaker notes.
Core 0.22.0 behavior.
Best Practices
Use progress numbering only when the total slide count is stable.
Keep the separator simple.
Do not combine progress format with a dense multi-field footer.
Related How-to Articles
OPF Config
headers-footers:slide-number-progress{
"$schema": "https://openpresentation.org/schema/opf/v1",
"name": "PPTX.gallery — headers-footers/slide-number-progress",
"tags": [
"gallery:headers-footers/slide-number-progress"
],
"design": {
"footer": {
"right": {
"text": "{{slide.number}} / {{deck.slideCount}}"
}
}
},
"slides": [
{
"id": "gallery-hf-title",
"layout": "text",
"title": "Quarterly Operating Review",
"subtitle": "Header/footer pattern \"slide-number-progress\".",
"design": {
"footer": false
}
},
{
"id": "gallery-hf-content",
"layout": "list",
"title": "Header & footer preview",
"items": [
"Repeated furniture stays outside the content grid",
"Slide numbers renumber in PowerPoint"
]
}
],
"catalogs": {
"default": {
"source": "https://www.pptx.gallery",
"layouts": {
"text": {
"name": "Text",
"summary": "Prose. Several blocks sit side by side when short and stack when long.",
"tags": [
"Text"
],
"direction": "column",
"regions": [
{
"name": "title"
},
{
"name": "body",
"accepts": [
"text",
"list",
"quote",
"code",
"group"
],
"role": "primary",
"flow": "auto"
}
],
"description": "Explain one idea in continuous prose. Use paragraphs or flowing blocks for detail that needs to be read in sequence.",
"preview": {
"vectorSrc": "https://www.pptx.gallery/layout-previews/text.svg"
}
},
"list": {
"name": "List",
"summary": "Bulleted or numbered points; one long list flows into columns.",
"tags": [
"Text"
],
"direction": "column",
"regions": [
{
"name": "title"
},
{
"name": "body",
"accepts": [
"list",
"text",
"group"
],
"role": "primary",
"flow": "auto",
"listColumns": "auto"
}
],
"description": "Present several related points in a clear sequence. Use bullets for independent points or numbered items for an ordered list.",
"preview": {
"vectorSrc": "https://www.pptx.gallery/layout-previews/list.svg"
}
}
}
}
}
}Load this config in the gallery's visual editor, or in the Inspector at pptx.dev.
Playground deep link: config=headers-footers:slide-number-progress