I’m posting this here for anyone that might be Googling around for some causes or solutions to problems using Safari on macOS.
I, like so many others, am always trying to find “the best” browser. And Safari on macOS certainly wins the award for most efficient in memory and battery usage. But that was not what I found in months—years even—of use. I took it on gospel, then went to go try Brave, Firefox, and others for a while and came away thinking, “Something must be wrong with Safari.”
The Grammarly plugin, which I had installed on all my browsers, was doing something to my MacBook Pro. I got suspicious when I realized Brave and other Chromium browsers didn’t struggle with WordPress’ admin dashboard. Moving Gutenberg blocks and inserting or removing blocks in a WordPress site, something I do a lot, would, after a while, slow to a visible crawl in Safari. The only solution was to quit and re-open the browser, which is annoying since you get logged out of a lot of stuff.
Brave didn’t have this, but still consumed more battery than Safari. But not by much. And I had the most noticeable problems on my Mac, but could sorta replicate this WordPress page/post editor performance in Safari on my iPad, which also had Grammarly installed.
So I started tracking usage in Activity Monitor and memory pressure with iStat Menu. I narrowed the cause to Grammarly, which was the only constant between browsers and would often spike for a second or two in Activity Monitor’s processes usage. plus, in Safari I ran 1Blocker, in Brave and other Chromium browsers I used uBlock. Grammarly was the constant in all of them.
I uninstalled Grammarly entirely from my Mac by removing both the plugin and the Mac app (which is really just a crummy electron web wrapper). The drop in memory pressure was noticeable after just one day, but here’s the graph after a few:
So what’s going on with the Grammarly plugin in Safari and its high resource usage?
I’m not sure, but I think the problem might be with Safari’s new text OCR features that shipped in macOS Monterey. The system-wide function that works in Mail, Notes, Preview, and your iPhone camera is also in Safari and it reads the text of images. It’s a handy way of copying text from a photo or getting a quick translation of a word. But it was being rendered as text and I suspect Grammarly wanted to “read” it like it does all other text. This text OCR service does not run in other browsers.
The problem is this dramatically balloons the amount of text Grammarly has to parse. In the graph image above, for instance, Grammarly would want to read all the dates, percentages, and button labels. This layout would be confusing since none of it is a complete sentence and the text appears disjointed from each subsequent block of text. The result is a huge outlay in memory consumption, processing, and ultimately battery drain.
Once I uninstalled Grammarly these problems evaporated. Safari runs fast and with a solid ad blocker like 1Blocker or AdGuard installed, it’s efficient and I have no problems with WordPress’ Gutenberg editor or any other site I visit.
I know Safari isn’t for everyone or every site—I used a site the other day that wanted to use my camera and microphone and audio refused to work. But those sites are rare for me, despite living online all day every day.
You might not want to run a browser without Grammarly, too. In which case, I guess you might have to stick with Brave, Edge, Firefox, etc. It seems clear this bug is with Grammarly and not necessarily Safari. Which isn’t surprising given how hostile Grammarly has been to anything that isn’t Chrome. Hopefully they fix it someday.
For me? I decided the system spell check works fine in random text boxes, and if I want to use the service to check longer pieces of writing I’ll do it in a browser tab inside their editor before copying/pasting it into or out of something else. I also decided it might not be a bad thing to be a little less reliant on software for something my brain should naturally be getting better at doing.
A note about uninstalling Grammarly on macOS and the disabled AppleSpell
When you install Grammarly on macOS it disables the system-wide spell checker service called AppleSpell in your system processes. When you uninstall Grammarly, it won’t turn it back on, either. Use this Terminal command to enable it again:
defaults write -g NSAllowContinuousSpellChecking -bool true