Apple has made tracks in recent years to help curb the number of spam calls reaching iPhones, with call blocking features that allow third-party apps to filter calls from identified and verified spammers. There is a similar feature for SMS spam, which is helpful if you find that you regularly receive unwanted text messages.

SMS spam blocking saves you unnecessary distractions, and the quality of SMS spam blocking apps has been rapidly increasing over the past few years.

How SMS Spam Blocking Works

SMS spam blocking in iOS 11 and onward uses a framework called IdentityLookup. This is a simple filtering framework, similar to how Content Blockers worked in iOS 10. You give the framework a list of what to filter out, and iOS 11 does it for you. If you're in a country that has a strong Truecaller database, you might want to use Truecaller's SMS filtering.

SMS spam blocking apps provide the framework with a list of known spammers (either the number or the text itself) and the framework filters them out in a similar way to how spam call blocking iPhone apps work. Some mobile providers like T-Mobile, Sprint, and Metro offer "Scam-Likely" messages when being called by a number that has been marked up as a potential scam.

Once filtering is turned on for an app, there's a new section that shows up in the Messages app: SMS Junk. Here you'll find messages that have been marked as spam. Tap on a conversation and you'll see all messages from the blocked sender, with text that will tell you which app filtered the message.

When a message is filtered, you don't get a notification for it, and it doesn't show up in the main tab in Messages. You can use iOS's built-in Silence Unknown Callers feature by going to Settings > Phone > Silence Unknown Callers and switching the toggle on.

However, if you're unhappy with iOS's natural spam blocking feature, you may want to try an alternative, third-party app.

How to Enable a Spam Blocking App

Just like with the call blocking feature, a spam blocking app needs to be manually enabled, but this doesn't take long, and it allows you to block annoying spam numbers. You can only run one SMS filtering app at one time. To do this:

  1. Go to Settings > Messages and select Unknown and Spam.
  2. Toggle the switch next to the app you want to enable.
  3. Accept the conditions and the filtering app will be active.

Please note that the Unknown and Spam tab won't appear in Settings until you've downloaded one of the relevant apps to allow spam blocking.

1. VeroSMS

VeroSMS takes a manual, privacy-first approach to SMS filtering, which is what makes it our top recommendation. VeroSMS doesn't have access to your SMS messages and no data is sent to app's servers. All filtering happens on your device.

In the free version of the app, you can manually add the keywords VeroSMS should filter out. This can be the sender number or a common spam keyword (like sale, cashback, discount, and so on).

Similarly, there's a whitelist feature where you can add keywords that will never be filtered out. For important messages, like those from your bank, this can be a really useful feature.

If you get the one-time, $0.99 in-app purchase, you'll unlock a country-specific crowdsourced whitelist and blacklist. This list is editable, and flipping this switch will take care of the most common spam messages.

Download: VeroSMS (Free, in-app purchases available)

2. SMS Shield

SMS Shield is the fancy SMS filtering app (as fancy as an SMS filtering app can get). It's a machine-learning-based spam filtering app. What's interesting about this app is that it works offline on your device. All the machine learning happens on your device (thanks to the APIs in iOS 11 and beyond).

SMS Shield's AI engine has been trained by tens of thousands of SMS spam messages. This means it can identify spam even if the app hasn't seen the same message or keyword before. This is on a whole different level to entering keywords manually.

You also have some manual control. You can block SMS from a specific contact and keywords. But there's no whitelist feature, like with VeroSMS.

If you travel a lot, you'll appreciate the Frequent Traveler Mode. This feature automatically blocks the barrage of SMS messages you get when you cross state or country borders.

But all that machine learning comes at a monthly cost. Once the one-week trial is up, SMS Shield costs $0.99/month or $5.99/year.

Download: SMS Shield (Subscription required, free trial available)

3. Hiya

If you're already using Hiya for call blocking, and it's working well for you, try using Hiya for SMS filtering as well. When you get an SMS from an unknown number, it's sent anonymously to Hiya's servers, where they determine if it's spam or not. If it is, it's filtered out automatically by Hiya.

Hiya's filtering is completely dependent on the data they have. And it might not work well for all countries. But if you're in the US or UK, it should be a good option.

Privacy is the biggest issue with Hiya (just like with call blocking). Data is anonymized, but you have to take Hiya's word for that. If Hiya's methods creep you out, it may be better to stick with VeroSMS.

Download: Hiya (Free, subscription available)

Troubleshooting SMS Filtering

Because SMS spam blocking is still a new system, the apps will get things wrong occasionally. When in doubt, try the following strategies to fix issues:

  • Add someone as a contact: If an app is filtering useful messages from an unknown number as spam, try adding that number to your contact book.
  • Use the app's whitelist: From VeroSMS, you can go in an add any phone number to the whitelist to ensure it never gets filtered.

Or How About iMessage Instead?

There are many other options for SMS filtering apps out there, but none of them really stood out compared to the three apps listed.

Another option is to forego SMS text messages and start using iMessage instead. Admittedly, this uses data, but it is a lot more reliable and packed with tons of cool features.