Skip to content

Instantly share code, notes, and snippets.

@talkingmoose
Last active November 10, 2025 14:37
Show Gist options
  • Select an option

  • Save talkingmoose/3340d122ffd6b4fccb5f1319b7067f73 to your computer and use it in GitHub Desktop.

Select an option

Save talkingmoose/3340d122ffd6b4fccb5f1319b7067f73 to your computer and use it in GitHub Desktop.
Regex looks for all Mac models compatible with macOS 26 Tahoe. May not be up-to-date with newly released models.
https://support.apple.com/en-us/122867
Published Date: September 15, 2025
Updated: November 10, 2025
Verification: https://regex101.com/r/YXAchM/6
1) Exact regex — Matches major model identifier numbers based on Apple's knowledge base article (more accurate):
^Mac((BookPro1(6,[124]|[78],\d)|(1[3-6]|BookAir10|mini9|Pro7),\d+))|iMac2[01],\d+$
2) Current or higher regex — Matches model identifiers based on Apple's knowledge base article and may match higher versions before this regex is updated (more future-proof).
^Mac((BookPro1(6,[124]|[7-9],\d)|(1[3-9]|BookAir10|mini9|Pro7),\d+))|iMac2[01],\d+$
Current or higher regexes aren't available for some models where Apple has used the same model identifier schema for multiple models.
Either regex will match any of the supported following model identifiers:
MacBook Pro
https://support.apple.com/en-us/108052
Exact regex: ^Mac((BookPro1(6,[124]|[7-9],\d))|1(4,([5679]|10)|5,([36-9]|1[01])|6,[15-8]))$
Current or higher regex: Not available
Supported:
Mac16,8
Mac16,7
Mac16,6
Mac16,5
Mac16,1
Mac15,11
Mac15,10
Mac15,9
Mac15,8
Mac15,7
Mac15,6
Mac15,3
Mac14,10
Mac14,9
Mac14,7
Mac14,6
Mac14,5
MacBookPro18,4
MacBookPro18,3
MacBookPro18,2
MacBookPro18,1
MacBookPro17,1
MacBookPro16,4
MacBookPro16,2
MacBookPro16,1
Unsupported:
MacBookPro16,3
MacBookPro15,4
MacBookPro15,3
MacBookPro15,2
MacBookPro15,1
MacBookPro14,3
MacBookPro14,2
MacBookPro14,1
MacBookPro13,3
MacBookPro13,2
MacBookPro13,1
MacBookPro12,1
MacBookPro11,5
MacBookPro11,4
MacBookPro11,3
MacBookPro11,2
MacBookPro11,1
MacBookPro10,2
MacBookPro10,1
MacBookPro9,2
MacBookPro9,1
MacBookPro8,3
MacBookPro8,2
MacBookPro8,1
MacBookPro7,1
MacBookPro6,2
MacBookPro6,1
MacBookPro5,5
MacBookPro5,4
MacBookPro5,3
MacBookPro5,2
MacBookPro5,1
MacBookPro4,1
MacBookPro3,1
MacBookPro2,2
MacBookPro2,1
MacBookPro1,2
MacBookPro1,1
---------------------------------------------------
MacBook Air
https://support.apple.com/en-us/102869
Exact regex: ^Mac(1([56],1[23]|4,(2|15))|BookAir10,1)$
Current or higher regex: Not available
Supported:
Mac16,13
Mac16,12
Mac15,13
Mac15,12
Mac14,15
Mac14,2
MacBookAir10,1
Unsupported:
MacBookAir9,1
MacBookAir8,2
MacBookAir8,1
MacBookAir7,2
MacBookAir7,2
MacBookAir7,1
MacBookAir6,2
MacBookAir6,1
MacBookAir5,2
MacBookAir5,1
MacBookAir4,2
MacBookAir4,1
MacBookAir3,2
MacBookAir3,1
MacBookAir2,1
MacBookAir1,1
---------------------------------------------------
MacBook
https://support.apple.com/en-us/103257
Supported:
None.
Unsupported:
MacBook10,1
MacBook9,1
MacBook8,1
MacBook7,1
MacBook6,1
MacBook5,2
MacBook5,1
MacBook4,1
MacBook3,1
MacBook2,1
MacBook1,1
---------------------------------------------------
iMac Pro
https://support.apple.com/en-us/HT210222
Supported
None.
Unsupported::
iMacPro1,1
---------------------------------------------------
iMac
https://support.apple.com/en-us/108054
Exact regex: ^Mac1((6,[23]|5,[45]))|iMac(2[01]),[12]$
Current or higher regex: Not available
Supported:
Mac16,3
Mac16,2
Mac15,5
Mac15,4
iMac21,2
iMac21,1
iMac20,2
iMac20,1
Unsupported:
iMac19,2
iMac19,1
iMac18,3
iMac18,2
iMac18,1
iMac17,1
iMac16,2
iMac16,1
iMac15,1
iMac14,4
iMac14,3
iMac14,2
iMac14,1
iMac13,2
iMac13,1
iMac12,2
iMac12,1
iMac11,3
iMac11,2
iMac11,1
iMac10,1
iMac9,1
iMac8,1
iMac7,1
iMac6,1
iMac5,2
iMac5,1
iMac4,2
iMac4,1
iMac,1
---------------------------------------------------
Mac mini
https://support.apple.com/en-us/102852
Exact regex: ^Mac(1((6,1[015])|(4,(3|12)))|mini9,1)$
Current or higher regex: Not available
Supported:
Mac16,11
Mac16,10
Mac14,3
Mac14,12
Macmini9,1
Unsupported:
Macmini8,1
Macmini7,1
Macmini6,2
Macmini6,1
Macmini5,3
Macmini5,2
Macmini5,1
Macmini4,1
Macmini3,1
Macmini2,1
Macmini1,1
---------------------------------------------------
Mac Studio
https://support.apple.com/en-us/102231
Exact regex: ^Mac1((3,[12])|(4,1(3|4))|5,14|6,9)$
Current or higher regex: Not available
Supported:
Mac16,9
Mac15,14
Mac14,14
Mac14,13
Mac13,2
Mac13,1
---------------------------------------------------
Mac Pro
https://support.apple.com/en-us/102887
Exact regex: ^Mac(Pro7,\d|14,8)$
Current or higher regex: Not available
Supported:
Mac14,8
MacPro7,1
Unsupported:
MacPro6,1
MacPro5,1
MacPro4,1
MacPro3,1
MacPro2,1
MacPro1,1
@talkingmoose
Copy link
Author

@jlehikoinen Sorry for the later update, but I was waiting for Apple to update their supported page in case anything changed before Tahoe released. The regex should be current now.

@jlehikoinen
Copy link

Excellent! 👍

@sdpalmer
Copy link

sdpalmer commented Nov 8, 2025

@talkingmoose I just double-checked the two main overall full regex via regex101.com and they are still catching the MacBookPro16,3 as supported.

You currently have for the full regex:

^Mac((BookPro1(6,[1-4]|[78],\d)|(1[3-6]|BookAir10|mini9|Pro7),\d+))|iMac2[01],\d+$
^Mac((BookPro1(6,[1-4]|[7-9],\d)|(1[3-9]|BookAir10|mini9|Pro7),\d+))|iMac2[01],\d+$

For the MacBookPro specific regex you have:
^Mac((BookPro1(6,[124]|[7-9],\d))|1(4,([5679]|10)|5,([36-9]|1[01])|6,[15-8]))$

So I am thinking the full regex should be the following??

^Mac((BookPro1(6,[124]|[78],\d)|(1[3-6]|BookAir10|mini9|Pro7),\d+))|iMac2[01],\d+$
^Mac((BookPro1(6,[124]|[7-9],\d)|(1[3-9]|BookAir10|mini9|Pro7),\d+))|iMac2[01],\d+$

@talkingmoose
Copy link
Author

@sdpalmer Thanks for catching! Look like I had the general regex at the top but hadn't updated it lower down. The two are updated now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment