EPUB FixerKDP upload error scanner

EPUB broken links and missing anchors

Use this when KDP or EPUBCheck says an internal link, image, stylesheet, or anchor is broken. Separate missing file paths from missing #id targets before you retry the EPUB.

The scan shows affected paths and repair decisions. It does not show manuscript text.

Not sure this kind of EPUB should be scanned here? Check unsupported or review-first EPUB cases.

Scan report titles

  • RSC_007 referenced resource could not be found
  • RSC_012 fragment identifier is not defined
  • Broken internal link target
  • Missing image, stylesheet, chapter, or anchor target

Read the scan report

How to decide whether this report item matches EPUB broken links and missing anchors.

Use the report label, affected file, and repair decision together. A matching title alone is not enough if the file path or EPUB structure points to a different problem.

Match the report title.

Look for "RSC_007 referenced resource could not be found" or the closest title listed above. If the platform wording is different, keep the original EPUBCheck, KDP, or Kindle Previewer message before choosing a fix.

Check the affected file first.

Use the report's Affected area, Source file, Target file, or Problem type rows before editing content.opf, nav.xhtml, toc.ncx, XHTML, CSS, or image paths.

Follow the repair decision.

Repairable means EPUB Fixer found one clear structural change. Needs review or Not supported means use the named file, source project, or platform step instead of guessing.

Repair summary

What to keep if this is not safely repairable.

Copy the report summary instead of rebuilding the fix from memory. A useful repair note keeps the source file, target file or field, original error, repair decision, and next step together.

Source file
Target path or field
Original error
Repair decision
Next step

1. Example report output

What the scanner checks.

The report should show both sides of the link: the EPUB file that contains the reference and the target it tried to reach.

Source file

OEBPS/nav.xhtml

Target file

OEBPS/Text/chapter-03.xhtml

Anchor / fragment

The part after # in an internal link, such as #intro or #note-4.

Report may show

Target file exists: true. Target anchor exists: false.

Repair decision

Safe only when one target path or anchor clearly matches the intended reading location.

If the file is absent, restore it from the source project. If only a simple path or anchor changed and there is one clear match, the repair can be structural.

2. Next step

Use the report to decide path repair, anchor repair, or manual review.

Broken-link errors look similar, but the next step changes depending on whether the file path or the anchor is missing.

Upload scan

You only have a vague KDP or Previewer message.

Use the scan to find the source XHTML, CSS, nav.xhtml, toc.ncx, or content.opf entry that contains the broken pointer.

Repair

One packaged file or one anchor is the clear target.

Align the href, src, CSS URL, nav link, NCX target, or anchor only when the report shows one safe match.

Manual review

The target is absent or several matches look possible.

Stop when choosing the target would change a chapter link, footnote, image, note, or reading location.

3. Concrete path example

A broken link report separates the file from the anchor.

The file before # can exist while the anchor after # is still missing.

EPUBCheck:
RSC-012: OEBPS/nav.xhtml links to Text/chapter2.xhtml#intro

Report:
Source file: OEBPS/nav.xhtml
Target file: OEBPS/Text/chapter2.xhtml
Target file exists: true
Target anchor exists: false
Fix decision: manual review unless one nearby id is clearly the same heading

Do not point the link to the top of the chapter just to clear the validator error.

Quick decision

Decide whether the broken link has one safe target.

A path mismatch can be a small structural repair. A missing note, heading, or chapter target can change where readers land.

Scan first

The message does not name the source file.

Upload the EPUB so the report can show where the broken reference lives and which target failed.

Safe fix

One file path or anchor is the obvious replacement.

Correct the reference when the packaged path, case, URL encoding, or renamed id has one clear match.

Stop

The reader destination is unclear.

Do not guess footnote targets, repeated headings, missing chapters, or absent images.

Start here

Start with the link target that KDP or EPUBCheck cannot open.

A broken EPUB link can be a missing file path or a missing anchor after #. Upload the EPUB when the message does not clearly show where the bad reference lives.

Matched

What it means

One file inside the EPUB points to another file or to an anchor that the package cannot resolve. OPF manifest means the file list inside content.opf; anchor or fragment means the part after # in an internal link.

Matched

Can it be fixed automatically?

EPUB Fixer can help when the report finds one clear target, such as a case-only path mismatch, URL-encoding mismatch, moved file with one match, or a renamed anchor that points to the same reading location.

Matched

What to check next

Find the file that contains the broken reference, such as a chapter XHTML file, stylesheet, nav.xhtml, toc.ncx, or content.opf.

Matched

What not to assume

It stops for manual review when the file is absent, several targets could match, the anchor belongs to a footnote or repeated heading, or the fix would require choosing where readers should land.

Common situations

Common broken-link cases.

Start from the kind of target that failed, then decide whether repair is safe.

Broken-link messages to compare

Broken EPUB links: internal href, src, CSS url(), nav.xhtml, toc.ncx, or anchor targets cannot be resolved.

Where broken EPUB links usually appear

KDP, Kindle Previewer, or EPUBCheck reports missing resources, broken fragments, stale navigation links, missing images, missing stylesheets, missing chapters, or footnote anchors that do not exist.

What it means

The EPUB usually points to an old path, missing file, or missing anchor.

One file inside the EPUB points to another file or to an anchor that the package cannot resolve. OPF manifest means the file list inside content.opf; anchor or fragment means the part after # in an internal link.

Common causes include renamed chapter files, changed folder case, URL-encoded spaces, moved images, removed CSS files, nav.xhtml links left from an older export, toc.ncx targets that no longer exist, and heading or footnote ids regenerated by the source tool.

Before you edit

Check the source file, target file, and anchor separately.

Do not rename files or add anchors until the report shows whether the target file exists and whether the part after # exists inside that file.

  1. 1Find the file that contains the broken reference, such as a chapter XHTML file, stylesheet, nav.xhtml, toc.ncx, or content.opf.
  2. 2Split any link with # into the file path before # and the anchor or fragment after #.
  3. 3Check whether the target file exists at the exact EPUB path, including folder name, capitalization, spaces, and URL encoding.
  4. 4If the file exists, check whether the anchor id exists inside that target file.
  5. 5Treat footnotes, backlinks, repeated headings, and missing assets as manual review unless the report shows one clear target.

Why KDP checks it

Why KDP and EPUBCheck reject broken links.

EPUBCheck

EPUBCheck checks EPUB 2 and EPUB 3 files against the official rules and reports package, markup, link, and file-reference problems.

EPUB 3.3 package rules

The OPF file is the EPUB's map: metadata, file list, reading order, and navigation wiring. KDP and EPUBCheck use it to decide whether the book package is coherent.

Can this be fixed safely?

When a broken-link repair is safe.

When automatic repair is safe

EPUB Fixer can help when the report finds one clear target, such as a case-only path mismatch, URL-encoding mismatch, moved file with one match, or a renamed anchor that points to the same reading location.

When you need manual review

It stops for manual review when the file is absent, several targets could match, the anchor belongs to a footnote or repeated heading, or the fix would require choosing where readers should land.

Before / after example

Before: nav.xhtml links to Text/chapter-03.xhtml, but the package contains Text/chapter03.xhtml. After: the link can be aligned if that is the same chapter. Before: a footnote link points to #note-4 and no matching note is clear; that needs manual review.

Ready to retry?

Scan the EPUB for broken paths and anchors.

The scan checks chapter links, image references, stylesheet URLs, nav.xhtml links, toc.ncx entries, and anchors. It keeps other EPUBCheck issues visible in the same report.

Upload EPUB to scan

FAQ

Questions authors ask about EPUB broken links.

Which broken links can EPUB Fixer repair?

It can help when the correct target is clear. If the target file is missing or several anchors could be right, the report stops for manual review.

What is the difference between RSC_007 and RSC_012?

RSC_007 usually means the file path cannot be found. RSC_012 means the file exists, but the anchor or fragment after # is missing inside that file.

Does the scan hide other EPUB errors?

No. This entry focuses the report on link and anchor issues by default, but package, manifest, fatal, and unsupported issues still remain visible.

Should I add missing anchors by hand?

Only when you know exactly where the reader should land. Adding an anchor to the wrong heading or note can make the EPUB validate while sending readers to the wrong place.

Related EPUB error guides