Undeclared prefix: 'ibooks'. (ERROR)

ePubs (3 )don’t validate with this error:
• Undeclared prefix: ‘ibooks’. (ERROR)
What can I do to fix this?

This is caused by some HTML Scrivener adds so that iBooks opens the ePub at the start page. Apple’s documentation suggests adding it, but it turns out that it does indeed cause ePub validation to fail elsewhere. I’ve fixed this for the next update. In the meantime, you can tick the option to optimise for Kindle export as a workaround, which will avoid adding this piece of HTML.

All the best,

Or you can enable the Omit “landmark” guides setting, in the Table of Contents compile option tab, which would I think more surgically remove the invalid element without potentially changing other aspects of the output?

K, thanks for this.
As a workaround, I have been unzipping the ePub and deleting the ‘iBooks’ line and re-zipping.
Thanks, I appreciate your quick response.

If you’re comfortable removing the line yourself, that will be the best all around approach, as the new landmark system is preferred to the older “guide” system, which Scrivener falls back to using when either of the above settings are enabled.

Thanks again.
I’ll continue to remove the line until the next update.

Results: Congratulations! No problems were found.


Had a bit trying to find the option, but enabling the setting fixed the issue for me.

Thanks to everyone!

Hi, I’m having this issue too.

But I don’t understand the solutions given here. Can someone simply a tad? I don’t know what “removing the line” means. And I can’t find the “omit landmark guides” setting in the Table of Contents compile option tab. Any help someone could give would be much appreciated.

It is the fifth checkbox from the top, or the last checkbox in the list of settings, in the aforementioned compile tab, right above “Table of contents title” and right below “Bold top-level items”.

Make sure your copy of Scrivener is up to date, that option was added after 3.0 was released, I think.

Thanks for your help! I found the right spot and have checked the appropriate box. I’ll let you know if it works!