I ran into the same issue as outlined in [@user2433922's answer](https://ebooks.stackexchange.com/a/7499/20268). Kobo showed an error when viewing an EPUB claiming to be about DRM when it was really due to a missing `content.opf` file in an Open eBook Publication Structure (OEBPS). Here's additional instructions on how to fix it. Before getting started, run the EPUB against [W3C's epubcheck tool](https://www.w3.org/publishing/epubcheck/) to see if there are any errors. ``` epubcheck spring-boot-reference.epub FATAL(OPF-002): ./spring-boot-reference.epub/META-INF/container.xml(-1,-1): The OPF file "https://d544286e-3ac0-4871-81d3-1f9198b71f82.epubcheck.w3c.org/content.opf" was not found in the EPUB. Check finished with errors Messages: 1 fatal / 0 errors / 0 warnings / 0 infos ``` In the case of [the file mentioned in the linked answer](https://docs.spring.io/spring-boot/docs/2.0.0.M5/reference/epub/spring-boot-reference.epub), `epubcheck` outlines a clear error regarding the `content.opf` file. Another problematic EPUB I used had no errors, despite the file not loading on Kobo and a similar issue with that file. For those unfamiliar with the EPUB format, EPUBs are zip archives with a standardized file structure and metadata. The contents can be viewed by unzipping them: ```sh unzip book.epub -d ./book ``` Check to see if there is a file located under `OEBPS/content.opf`. In the case of the above file, although there is one, the file `META-INF/container.xml` doesn't include the `OEBPS` directory in the path: ```lang-xml <?xml version="1.0" encoding="UTF-8"?><container xmlns="urn:oasis:names:tc:opendocument:xmlns:container" xmlns:svg="http://www.w3.org/2000/svg" version="1.0"> <rootfiles> <rootfile full-path="content.opf" media-type="application/oebps-package+xml"/> </rootfiles> </container> ``` Which should be changed to: ```lang-xml <?xml version="1.0" encoding="UTF-8"?><container xmlns="urn:oasis:names:tc:opendocument:xmlns:container" xmlns:svg="http://www.w3.org/2000/svg" version="1.0"> <rootfiles> <rootfile full-path="OEBPS/content.opf" media-type="application/oebps-package+xml"/> </rootfiles> </container> ``` In the case of another EPUB I had an issue with, `META-INF/container.xml` pointed to another file and `content.opf` did not exist. Renaming that file to `content.opf` and updating `META-INF/container.xml` as above fixed it. To create a new archive, run the following (taken from [this answer](https://stackoverflow.com/a/68121421/12638282)): ```lang-shell cd /path/to/epub-export zip -0 -X ../newbook.epub mimetype zip -9 -X -r -u ../newbook.epub * ``` Then run `epubcheck newbook.epub` and to confirm it can parse the EPUB. Note that sometimes there are errors that won't prevent it from opening on the Kobo.