AI & Software · Tutorial
How to Make a Table of Contents in LibreOffice Writer
Use heading styles to create a table of contents in LibreOffice Writer, then update it as your document changes.
Disclosure: We may earn a commission when you shop through the links below. It never changes the verdict. Details

Disclosure
We may earn a commission when you shop through the links below. Opinions stay independent. Full disclosure
A table of contents is great until you add a section and every page number moves. LibreOffice Writer can build the list from your headings and refresh it when your document changes.
Quick answer: Apply heading styles to your section titles, place the cursor where you want the table, then choose Insert → Table of Contents and Index → Table of Contents, Index or Bibliography. Choose Table of Contents and confirm. When you change headings or page numbers, update the table.
For this guide, we made a disposable sample in LibreOffice Writer 26.8.2.2 on a Mac, inserted a table of contents, renamed a heading, and updated the table. The interface may look different on your system.
1. Give your sections real heading styles
Writer uses the document’s heading structure to build the table. Making a line bigger and bold may make it look like a heading, but that alone isn’t the same as applying a heading style.
- Open your document and click in a section title you want included.
- Use the Paragraph Style box on the formatting toolbar to choose Heading 1. Repeat for your main sections.
- For subsections, use Heading 2 where appropriate. Keep ordinary paragraphs in a body-text style.
On our Mac, selecting the heading text and pressing Command+1 applied Heading 1. You can also use the style box if you prefer; shortcut availability may vary by platform or customization.
2. Insert the table
- Click where the table should appear, often near the beginning of the document. Add space or a page break first if your layout needs one.
- Choose Insert → Table of Contents and Index → Table of Contents, Index or Bibliography.
- In the dialog’s Type section, check that Table of Contents is selected and that Headings is checked under Create From. Adjust the included heading level if needed, then click OK.

Our sample shows “First Steps” and “Next Actions” in both the table and the document. A longer document will show the page numbers for its own headings. Check the generated entries before sharing.
3. Update after edits
Change a heading, add sections, or move content, and the table may need a refresh. Right-click inside it and choose Update Index or Table of Contents, or use Tools → Update → Indexes and Tables. We renamed a heading and used the Tools menu; the corresponding entry changed in our sample. LibreOffice’s table-of-contents guide describes both update routes.
If something is missing
- A heading didn’t appear: Click the original section title and check its paragraph style. Apply the appropriate heading style, then update the table.
- A subsection is missing: Check the dialog’s included level; it needs to include the heading’s outline level.
- Page numbers look stale: Update the table after editing and review the result. If you export a PDF, open the exported copy and inspect it too.
- You can’t type into the table: The insertion dialog has a protection option. Edit the underlying headings and update the table instead of treating generated entries as ordinary text.
For another document task, see how to combine PDFs in Preview on a Mac. The featured image also shows our Writer sample; interface credit: LibreOffice. We didn’t test exporting the sample or every Writer version.
The Inner Circle
One AI shortcut a week. Tested first.
The tools and tricks I actually kept using, sent once a week. Skip the hype threads.
- New verdicts and scores
- Same-day workflow tips
- No spam, unsubscribe anytime



