iShares Core S&P 500 ETF (IVV) is one of the most popular ETFs in the world with $530B in assets. We screened every single holding — all 503 stocks — against Shariah standards using the Halal Terminal API to give you a definitive, data-backed answer.

Verdict: IVV is NOT Shariah-Compliant

NOT Shariah-compliant — identical to SPY and VOO. Use SPUS for a halal S&P 500 alternative.

Screening Results at a Glance

MetricValue
Total Holdings503
Compliant Holdings337
Non-Compliant Holdings166
Compliance Rate67.0%
Weighted Compliance62.8%
Purification Rate4.5%
Expense Ratio0.03%
AUM$530B

Why IVV Fails Shariah Screening

IVV is iShares' version of the S&P 500 ETF — the same 503 stocks as SPY and VOO, just from BlackRock instead of State Street or Vanguard. The Shariah compliance picture is identical to SPY and VOO: 67% of holdings pass, but banks, insurance companies, and alcohol/tobacco producers make the overall ETF non-compliant.

If you've already read our Is SPY Halal? or Is VOO Halal? articles, the screening results are the same. The choice between IVV, VOO, and SPY is about expense ratios and broker preferences, not compliance.

Bottom line: IVV is not halal. Use SPUS for a Shariah-filtered S&P 500 alternative.

Top Compliant Holdings

These IVV holdings pass Shariah screening:

  1. AAPL
  2. MSFT
  3. NVDA
  4. AMZN
  5. META
  6. GOOGL
  7. TSLA
  8. UNH
  9. AVGO
  10. LLY

Non-Compliant Holdings

These holdings fail and are the primary reason IVV is not compliant:

  1. JPM (banking)
  2. BAC (banking)
  3. WFC (banking)
  4. GS (banking)
  5. BRK.B (insurance/finance)
  6. V (financial services)
  7. MA (financial services)

Halal Alternatives

For similar market exposure with full Shariah compliance:

For a full comparison, see our Best Halal ETFs for 2026 guide.

Screen IVV Yourself

curl https://api.halalterminal.com/api/etf/IVV/screening \
  -H "X-API-Key: YOUR_KEY"
import requests

resp = requests.get(
    "https://api.halalterminal.com/api/etf/IVV/screening",
    headers={"X-API-Key": "YOUR_KEY"}
)
data = resp.json()

print(f"Compliance Rate: {data['compliance_rate']}%")
print(f"Compliant: {data['compliant_holdings']}/{data['total_holdings']}")
print(f"Purification: {data['purification_rate']:.1%}")

for h in data["holdings"]:
    if h["compliance_status"] != "compliant":
        print(f"  FAIL: {h['symbol']} ({h['weight']:.1%} weight)")

Two ways to screen

Halal Terminal

Screen stocks and ETFs interactively with real-time data, multi-methodology verdicts, and transparent financial ratios.

Key Takeaways