One of the biggest problems in the modern smartphone industry is Apple’s refusal to play with messaging systems other than the iPhone. For a long time in the US, iMessage reigned supreme among iPhone users, leaving Android phone owners with SMS or a third-party service like Whatsapp to communicate with their fruit phone-carrying friends.
But thanks to some savvy people, you can get iMessage on Android (and PC) as long as you have a running macOS installation. The service is called BlueBubbles, an open-source initiative that acts like a server on your Mac to intercept your iMessages and route them to a connected client app.
Curious? Here’s how I did it.
Configure a macOS virtual machine
Your heart may have sank, like mine, when you read that you need a Mac. That’s a problem for a lot of people, because Macs don’t make up a huge chunk of the personal computer market – and they don’t come cheap. However, there are a few options to consider.
The first, and easiest, is to grab a used Mac – like a Mac mini – on the cheap and run the BlueBubbles server from it. The second is much more involved, but that’s what I finally chose. It is a macOS virtual machine.
I do not hide the fact that I am a computer enthusiast. In my utility closet is a group of computers that act as my servers, a little homelab if you will. All my important services run here in VMs and Docker containers, like my network ad blocker, my Jellyfin media server, my website, etc.
But macOS has special requirements to run well in a virtual environment, so I bought an old used Xeon workstation PC on eBay for $30, along with an upgraded CPU for $20.
Full disclosure, I followed these instructions from Nicholas Sherlock (opens in a new tab) to install macOS Ventura in a virtual machine. There are many steps, but if you follow them to the letter, you should be fine. Setting up the virtual machine took me a while, but it turned out to be much easier than I expected. However, the macOS installation process added a lot of setup time.
But after a successful boot, I completed the final setup steps to make sure macOS would work properly, signed in with my Apple ID, and then configured to install BlueBubbles.
Installing the BlueBubbles Server
From there, I just followed BlueBubbles’ instructions, which are pretty clear and well documented – that pleased the old tech writer in me. Visit the website, download the DMG file and install it.
Setting up the cloud-based notification system takes a bit of time, as I needed to work through the Google Firebase console. That said, BlueBubbles walked me through the process from start to finish. I liked the simplicity of the whole.
My only hiccup came down to how I wanted to run the server publicly. I originally intended to use DDNS and port forwarding on my router to broadcast my messages when I’m away from my local network. But I had some configuration issues, so I went with the Cloudflare option. It’s still free and has worked well so far, although manually entering the long URL string is annoying on PC. (You can scan a QR code on mobile.)
Once the server was up and running, I just installed the client app on my Pixel 5, scanned the server-generated QR code, and boom. I had iMessage on Android.
I nearly threw my laptop off my lap when I screamed in victory. I was ecstatic when my wife received my test message and her response lit up blue. After about three hours of work from start to finish, I could use iMessage from my laptop, workstation, or Linux gaming PC.
This solution won’t work for everyone, obviously. You need the ability to run a virtual machine, which you can do with software on an existing Windows or Linux computer. The most obvious way is to simply run an old Mac on your desk or in a closet. You can turn an unsupported Mac into Hackintosh to get Ventura-specific features in BlueBubbles (like message editing). That’s another topic, though.
Was all that work worth it? Absolutely. This makes my GrapheneOS-powered Pixel 5 more tempting as a daily driver, since I mostly communicate with people via iMessage.
But keep in mind that my experience may differ from yours because I already have iMessage on my iPhone and Apple ID. How that colors the experience, I don’t know. You just have to try it for yourself.