The flip phone web: browsing with the original Opera Mini

May 29, 2025 - 17:15
 0  0
The flip phone web: browsing with the original Opera Mini

The flip phone web: browsing with the original Opera Mini

Corbin Davenport

10 min read

Opera Mini was first released in 2005 as a web browser for mobile phones, with the ability to load full websites by sending most of the work to an external server. It was a massive hit, but it started to fade out of relevance once smartphones entered mainstream use.

Opera Mini still exists today as a web browser for iPhone and Android—it's now just a tweaked version of the regular Opera mobile browser, and you shouldn't use Opera browsers. However, the original Java ME-based version is still functional, and you can even use it on modern computers.

How Opera Mini works

In the 1990s and 2000s, most mobile phones didn't have the processing power to load full desktop websites. Instead, an alternative Wireless Application Protocol (WAP, but not that WAP) was created for simple websites that could work over a 1G/2G connection on a typical mobile phone. For example, the BBC had a regular website for users on desktop computers, and a simpler WAP site for users on mobile phones and PDAs. The WAP versions of websites usually didn't have all the functionality and pages as the regular sites.

Opera Mini used a clever workaround when it arrived in 2005. When you loaded a website in the browser, the request was sent to one of Opera's cloud servers, which rendered the page and sent the result back to the phone. Images and other data were also compressed along the way to minimize cellular data usage.

Here's part of the initial pitch for Opera Mini, with 'operators' referring to mobile network carriers:

Because Opera Mini™ enables Web access on low- and mid-tier phones, operators can now dramatically increase the average revenue per user (ARPU) across their entire customer base by stimulating the usage of compelling mobile Web services. Opera offers full customization of Opera Mini™ to companies, for example operators, broadcasters, mobile content providers and the Internet industry, that would like to include their own version of Opera Mini™ as part of their mobile content offerings.
The first company to take advantage of Opera Mini™ is Norway's leading commercial television station, TV2. It has bundled Opera Mini™ with its mobile services in Norway to offer its viewers a complete mobile content package that includes a branded and advanced Web browser.

Opera Mini was built as a standard Java Micro Edition (Java ME) application, so it worked on everything from the Motorola RAZR series to the Nokia 8800. It had 169 million users by 2012, and Opera also built the browser for other platforms. I remember using Opera Mini on my iPhone 3G at one point—it was one of the first third-party browsers allowed on Apple's App Store, because it wasn't actually running code on the phone.

Eventually, smartphones with the ability to render full web pages became widespread, so fewer people had to turn to Opera Mini to get a usable mobile web experience. It still hasn't completely shut down, though.

Downloading Opera Mini in 2025

Opera still advertises "Opera Mini for mobile phones" on its website, and asks you to visit m.opera.com to download the application file. On modern devices and browsers, that site redirects you to the current iPhone and Android browsers. You need to change your browser's user agent string to an old phone to see the full list of downloads. I added a custom device in Firefox's developer tools with the user agent string Mozilla/5.0 (SymbianOS/9.1; U; [en]; Series60/3.0 NokiaE60/4.06.0) AppleWebKit/413 (KHTML, like Gecko) Safari/413 from a Nokia E60.

The 'Other download options' link on the page reveals all versions of Opera Mini and Mobile. This includes the regular Opera Mini Java ME browser, the Windows Mobile versions of Opera Mini and Mobile, Opera Mini for BlackBerry, and the Symbian OS versions of Opera Mini and Mobile. The Android and iPhone links just go to the app stores for each platform.

I unfortunately don't have a Java, Windows, or Symbian phone right now, but it is possible to run the Java ME version on a desktop computer. You need two tools for this: a Java runtime like OpenJDK or Oracle's Java, and MicroEmulator for running MIDlet-based apps like Opera Mini.

I installed Microsoft OpenJDK on my Mac through the Homebrew cask, then opened MicroEmulator like this:

java -jar /Users/corbin/Downloads/microemulator-2.0.4/microemulator.jar

Finally, in MicroEmulator, I selected File > Open MIDlet File and picked Opera Mini's .jad file. Opera Mini then appears in the application list, and clicking it starts the browser.

Opera Mini works with regular mouse and keyboard input, so I turned off the virtual keypad interface and switched to a larger virtual screen. You can do this in MicroEmulator by navigating to Options > Select device, selecting 'Resizable device' and clicking the OK button, then clicking the 'Resize' button in the main window. I chose a resolution of 854x480 to have a roughly 16:9 aspect ratio.

The Opera Mini experience

Opera Mini starts up with a welcome page, explaining the features available in Opera Mini 8 like private browsing, data savings reports, browser tabs, long-click menus, and the classic Speed Dial bookmarks. Opera Mini 8 was the last major version for Java ME, released in March 2014. The version I downloaded is build 8.0.35626, and doesn't list a specific release date.

After clicking Accept, we're greeted with the main browser interface and Speed Dial. The top of the screen has separate address and search bars, though you can also do a web search from the address bar.

The bottom section has back and forward navigation buttons, a shortcut to the Speed Dial, and a button for switching between tabs. There's also an Opera button that opens a menu with bookmarks, history, data usage, settings, finding text in the current page, sharing the current page, and closing the browser.

From here, you can start browsing the web like you would with any other web browser. I visited a bunch of sites, and all of them had at least some issues with the page layout and broken embeds. For example, a BBC news article had missing images but the text looked fine, while a review on The Verge had working images with broken text layouts. These are the same issues you get with any old browser, as support for modern CSS styles and other web features are missing and can't be rendered properly.

Opera Mini does seem to avoid the SSL certificate issues that are present on older web browsers and operating systems, because Opera's servers are acting as a proxy for all web content. I couldn't find a website that Opera Mini outright refused to load.

Many outdated or 'lite' websites do work perfectly in Opera Mini. For example, CNN's lite website looks correct in the browser, since it's just text and links with minimal formatting. Macintosh Repository, a site for classic Mac software that is intended to work on some classic Mac web browsers, looks mostly correct in Opera Mini.

Every once in a while, navigating to a new page in Opera Mini loads an interstitial advertisement, hosted by Opera's own advertising network. Clicking the ads didn't actually do anything. I'm not sure if that's an issue with MicroEmulator, or if this infrastructure simply broke a long time ago and Opera hasn't bothered to fix it.

The settings page for Opera Mini contains a toggle for loading images, a 'Night Mode' that dims the interface, settings for the touch keyboard, and some image quality and font options. There's also a 'Network test' that just opens a blank page with a server:setup URL. I'm not sure if it's supposed to do something else.

There's a toggle for Private browsing as well, which wipes the history and other related browser data when you turn it off, and switches the browser to a dark theme. Of course, Opera's servers still sees (and renders) the full contents of all the web pages you visit, so calling this 'Private browsing' is even more of a stretch than the private browsing and incognito modes in other browsers.

There is one cool feature here that most modern browsers are lacking: RSS feed integration. When you visit a website with an RSS feed, Opera Mini adds a link to it at the top of the page. Clicking it opens the feed in a reader interface, with the full text content of each feed item.

It seems like images are fully broken in the RSS reader, which is a shame, because otherwise this tends to work better than reading pages in the normal websites. You can subscribe to each feed, which adds it to the list in the bookmarks menu.

Many old web browsers had excellent RSS integration and built-in readers, like Safari and Internet Explorer, and I'd love to see that functionality make a comeback. In the meantime, I'll stick to Inoreader and Feedly.

Under the hood

Opera Mini uses a modified version of the Presto engine, which was used in the full-featured desktop and mobile versions of Opera until the company switched to a Chromium codebase in 2013, but the rendering is happening on cloud servers instead of the local device. A quick visit to a user agent checker website reveals the below string.

Opera/9.80 (J2ME/MIDP; Opera Mini/8.0.35626/191.376; U; en) Presto/2.12.423 Version/12.16

Opera Mini is reporting itself to websites as Opera 12.16 with Presto engine 2.12.423, with "Opera Mini" and "J2ME/MIDP" also present so websites can detect the exact browser. Opera 12.16 was one of the last versions before the switch to Chromium—the "Opera 9.8" string was a hack used in Opera 10 and later to avoid breaking websites that only checked the first digit of the user agent. The wild west of web development.

I was also curious where Opera Mini's servers are currently located. The showmyip.com site reports a location of Amsterdam in The Netherlands, with IP addresses including 82.145.211.123 and 82.145.212.87. Presumably, there's one server closet somewhere in Amsterdam handling what remains of Opera Mini's web traffic.

There's a blog post by Tiffany B. Brown from 2012 that explains some of the rendering differences between regular Presto-based Opera and Opera Mini. Notably, JavaScript code is only executed if it's part of the initial page load—after the page is rendered and sent to the device, nothing else can run. There are also time limits on XMLHttpRequest network requests, so any site that updated in real-time wouldn't work without constantly refreshing the page.

Opera Mini also didn't support JavaScript mouse events, offline storage APIs, and all the web platform features that came after Opera 12 was released. I believe some versions of Opera Mini supported video playback, but I couldn't get it to work in the Java ME version.

It's not a surprise that Opera Mini struggles with most modern websites, considering it's a heavily-modified version of a decade-old web browser. Many websites didn't even fully support Opera's Presto engine when it was new.

Still alive, for now

It's cool that an important piece of mobile web history is still functioning, though I'm not sure how much longer it will stick around. Opera Mini's servers probably don't cost much to continue operating, but the browser doesn't seem to be profitable in any way. Maybe Opera is billing those companies for the advertisements that don't work, or there are still some ongoing contracts with carriers or device manufacturers that require Opera Mini to stay online.

The official "Other phones" forum on Opera's website is still somewhat active with threads about Opera Mini. It seems like most of the current-day usage is on Nokia and HMD's Java-based feature phones from the 2010s, like the Nokia 215, with some threads discussing older phones from the 2000s.

If you have an old phone or PDA with Java support, or want to fire up MicroEmulator on your computer, it might be worth trying out Opera Mini before it's gone forever. That's assuming your old phone can connect to a network.

What's Your Reaction?

Like Like 0
Dislike Dislike 0
Love Love 0
Funny Funny 0
Angry Angry 0
Sad Sad 0
Wow Wow 0