deniz.in

Markets

Weather

Loading weather

· via dev.to (home feed)

Why Amazon dropped MOBI for Kindle and how in-browser EPUB conversion works

Amazon's Send to Kindle now requires EPUB, stranding MOBI libraries. A dev.to explainer traces the format's Palm-era origins and shows how browser-side converters repack files without uploading them.

Why Amazon dropped MOBI for Kindle and how in-browser EPUB conversion works

Amazon stopped accepting MOBI files through its Send to Kindle service starting in late 2022, and subsequent firmware updates completed the phase-out, making EPUB the required format for the service. That is the starting point of a dev.to article that explains both why the format was retired and how a new generation of browser-based converters lets readers rescue their MOBI libraries without uploading a single byte to a third-party server.

A format inherited from the Palm era

According to the dev.to piece, MOBI was created by Mobipocket in 2000 and built on PalmDOC, a storage scheme designed for early handheld PDAs, with everything held in a monolithic Palm Database (.pdb) container. Amazon acquired Mobipocket in 2005 and adapted the format into AZW, also known as Kindle Format 7, in time for the first Kindle's launch in 2007.

The article argues the format simply could not keep up with modern ebooks. MOBI lacks native support for complex CSS layouts, media queries, scalable vector graphics, embedded modern fonts, hyphenation dictionaries and dynamic dark-mode styling. Contemporary Kindles render books through the KF8 (AZW3) and KFX engines, which translate HTML and CSS natively, so maintaining legacy MOBI parsers produced rendering inconsistencies for diminishing returns. EPUB, standardized by the IDPF and the W3C, is essentially a compressed web package of HTML5, CSS3, XML metadata and SVG inside an Open Container Format ZIP, which matches how Kindle rendering already works.

The privacy cost of generic online converters

When MOBI files stopped sending to Kindles by email, the article notes that millions of readers turned to generic conversion websites. It flags three structural problems with that approach: the full ebook, which may be a proprietary manuscript or a private purchase, is uploaded to a remote server; free converters often leave files in temporary cloud buckets that can stay exposed or appear in backend analytics logs; and pushing a 50MB illustrated volume up and back down wastes time and bandwidth.

Conversion entirely inside the browser tab

The dev.to article then describes a zero-upload pipeline built on WebAssembly, the FileReader API and typed array buffers. The file is read into an ArrayBuffer, and a JavaScript parser walks the PDB header, covering database name, attributes, record count and record offsets, before reaching Record 0, which holds the MOBI header and EXTH metadata such as title, author, publisher and cover image offsets. The remaining PalmDOC-compressed records are decompressed client-side using LZ77 or Huff/CDIC, and the extracted HTML and text records are reassembled into a valid EPUB container: META-INF/container.xml, an uncompressed mimetype entry placed first, the OEBPS/content.opf manifest and spine, toc.ncx and nav.xhtml, plus the xhtml documents and images. A client-side ZIP library such as JSZip or fflate packages the result, and a Blob URL offers it as an immediate download.

The claimed benefits are privacy, speed and scale. Files never leave local memory, decompression and repackaging run on the user's CPU in milliseconds with no network round-trip, and the only size ceiling is device RAM rather than the arbitrary 10MB or 25MB caps that server-based tools impose to control hosting costs. The author highlights a free browser-based MOBI-to-EPUB converter as an example of the approach, and the piece doubles as a tutorial for developers who want to implement their own PDB parser in JavaScript.

Why it matters

Format deprecations rarely come with migration tools, and Amazon's shift leaves anyone with a shelf of MOBI files, whether indie purchases, Project Gutenberg classics or advance reader copies, needing a conversion step before Send to Kindle will accept them. The in-browser approach also illustrates a broader pattern: WebAssembly and modern browser APIs have made server round-trips unnecessary for many document transformations, which turns privacy from a policy promise into an architectural property. For developers, the MOBI-to-EPUB path is a compact worked example of parsing a legacy binary format in the browser, and for readers it means legacy libraries can be modernized without handing unpublished manuscripts or private purchases to an unknown server.

  • #kindle
  • #epub
  • #ebook-formats
  • #webassembly
  • #javascript

Related posts