There is no best card: Your budget, your comfort level with doing modifications, your ability to live with unresolved issues, your computing needs, the local market, your iMac model, etc. will determine the card to be used.
Unfortunately, this thread cannot help you source cards as there are too many variables involved.
There is - on the other side a most compatible and feature rich card - the (green Dell) AMD WX4130. It will work in any iMac without modification using the GOP vBIOS. And there is a most compatible receiver, the iMac11,3 27, which can run literally every card tested, listed, or mentioned on the thread.
Read through this information carefully in order to choose the best card for your needs.
System support table:
| card/system family | iMac9,1 24 | iMac10,1 21.5 | iMac10,1 27 | iMac11,1 | iMac11,2 | iMac11,3 | iMac12,1 | iMac12,2 |
| NVIDIA (EFI) | no EFI | no EFI | yes, no EFI | yes | yes | yes | yes | yes |
| AMD (GOP) | yes | yes | yes | yes | yes | yes | yes | yes |
| AMD EG2 (EFI) | unknown | unknown | no EFI | yes | yes | yes | yes | yes |
NVIDIA cards always have EFI boot screen support, AMD cards can have it using an
iMac EG2 firmware modification.
Post High Sierra macOS support is limited to NVIDA Kepler GPU and AMD GPU from 2012+ (GCN1-4, RDNA), therefore we do not discuss the use of Maxwell or Pascal cards, although these run perfectly with High Sierra, Windows, and Linux. Check this
thread to get more information.
There are smaller MXM-A cards which can be physically installed in all systems listed above.
There are bigger MXM-B cards running stable
only in the 27" models. These cards may work in a 21.5" model, but will be unstable due to their high
power draw. Do not try it and do not ask for support! Nearly all those MXM-B cards
need the big three copper pipe MXM-B
heat sink from the 27" mid 2011 model with the 6970M card to get the generated heat out of the system under load. Check the GPU tables for details.
Usually support is limited to iMac11,x and iMac12,x systems, but lately some users tried cards in older iMac10,x and iMac9,1 models with mixed success. There is a hardware hack to connect the internal LCD with a
display driver board, rerouting the connector trough the memory door to the miniDP port. This makes the internal panel working as an external one. One
user reported the internal LCD would work after letting the system sleep. Some cards
may work with the stock BIOS and OpenCore boot picker showing all/some of the seven problems. The K3000 using the @stephl3 rom offers an EFI boot picker on the
external screen. All AMD Venus cards with the non adjusted EG2 vBIOS will show an EFI picker on the external screen and therefore suited for the driver board hack mentioned above.
If this information is not really clear ask about support and experiences with older iMacs or search this thread.