OBML (Opera Binary Markup Language)

OBML (Opera Binary Markup Language) is a document format used by the Opera Mini "thin client" web browser. Opera Mini uses a server farm running a modified Presto engine to convert HTML pages into OBML, so that the phone only needs to render pixel-positioned regions instead of running a full HTML layout engine.

Normally OBML was only spoken between the Opera proxy servers and the app, but Opera Mini v3 gained the ability to save pages to ".obml" files for later reading and archival, thus it isn't a completely internal file format anymore.

Unfortunately the saved pages aren't very portable across devices (as they depend on screen size and font metrics); newer app versions do not support older OBML formats (app upgrades have made old saved pages unreadable at least twice); and neither Opera Mobile nor the desktop Opera can read them at all.

Resources
One attempt at reverse-engineering the file format, based on my phone's backups:


 * format documentation
 * OBML to HTML converter