Key findings
Three patterns worth noting:
- Growth/tech ETFs cluster heavily. IWF, VUG, QQQ, QQQM, VGT, XLK occupy 9 of the top 10 most-overlapping pairs. Owning two of these rarely diversifies.
- Style boxes are mostly clean. VTV vs VUG (value vs growth) and VOO vs VWO (US vs emerging markets) show 0% top-10 overlap. That's the expected behaviour and a useful sanity check on the methodology.
- Index siblings are near-duplicates. QQQ vs QQQM at 47.7% reflects identical strategies in different share classes; SPY vs IVV vs VOO behave the same way.
Top 10 most-overlapping pairs
- IWF vs VUG59.52%
- VGT vs XLK52.25%
- QQQ vs QQQM47.69%
- IWF vs QQQ40.3%
- IWF vs QQQM40.28%
- IWF vs XLK40.19%
- QQQ vs VUG40.0%
- QQQM vs VUG39.97%
- IWF vs VGT39.23%
- VUG vs XLK38.71%
The full 22 × 22 matrix
Each cell shows the weight-based overlap between the row ETF and the column ETF, in percent. Cells link through to detailed pair pages where one exists. Higher numbers are darker; the diagonal is empty (an ETF cannot overlap with itself).
| BND | DVY | IJR | ITOT | IVV | IWF | IWM | QQQ | QQQM | SCHD | SPY | VEA | VGT | VIG | VOO | VTI | VTV | VUG | VWO | VXUS | VYM | XLK | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| BND | — | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% |
| DVY | 0% | — | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 1.84% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% |
| IJR | 0% | 0% | — | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% |
| ITOT | 0% | 0% | 0% | — | 35.17% | 34.01% | 0% | 32.14% | 32.14% | 0% | 35.17% | 0% | 21.03% | 10.88% | 35.17% | 33.43% | 1.23% | 34.01% | 0% | 0% | 2.88% | 21.03% |
| IVV | 0% | 0% | 0% | 35.17% | — | 36.97% | 0% | 34.81% | 34.81% | 0% | 38.37% | 0% | 22.37% | 11.2% | 38.37% | 33.75% | 1.4% | 36.97% | 0% | 0% | 3.2% | 22.37% |
| IWF | 0% | 0% | 0% | 34.01% | 36.97% | — | 0% | 40.3% | 40.28% | 0% | 36.97% | 0% | 39.23% | 15.62% | 36.97% | 32.53% | 0% | 59.52% | 0% | 0% | 5.76% | 40.19% |
| IWM | 0% | 0% | 0% | 0% | 0% | 0% | — | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% |
| QQQ | 0% | 0% | 0% | 32.14% | 34.81% | 40.3% | 0% | — | 47.69% | 0% | 34.81% | 0% | 30.06% | 11.4% | 34.81% | 30.6% | 2.26% | 40.0% | 0% | 0% | 3.4% | 32.11% |
| QQQM | 0% | 0% | 0% | 32.14% | 34.81% | 40.28% | 0% | 47.69% | — | 0% | 34.81% | 0% | 30.04% | 11.4% | 34.81% | 30.6% | 2.26% | 39.97% | 0% | 0% | 3.4% | 32.07% |
| SCHD | 0% | 1.84% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | — | 0% | 0% | 0% | 0% | 0% | 0% | 1.42% | 0% | 0% | 0% | 2.93% | 0% |
| SPY | 0% | 0% | 0% | 35.17% | 38.37% | 36.97% | 0% | 34.81% | 34.81% | 0% | — | 0% | 22.37% | 11.2% | 38.37% | 33.75% | 1.4% | 36.97% | 0% | 0% | 3.2% | 22.37% |
| VEA | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | — | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 6.71% | 0% | 0% |
| VGT | 0% | 0% | 0% | 21.03% | 22.37% | 39.23% | 0% | 30.06% | 30.04% | 0% | 22.37% | 0% | — | 12.6% | 22.37% | 19.59% | 3.72% | 38.22% | 0% | 0% | 6.11% | 52.25% |
| VIG | 0% | 0% | 0% | 10.88% | 11.2% | 15.62% | 0% | 11.4% | 11.4% | 0% | 11.2% | 0% | 12.6% | — | 11.2% | 10.85% | 9.97% | 15.47% | 0% | 0% | 13.5% | 13.16% |
| VOO | 0% | 0% | 0% | 35.17% | 38.37% | 36.97% | 0% | 34.81% | 34.81% | 0% | 38.37% | 0% | 22.37% | 11.2% | — | 33.75% | 1.4% | 36.97% | 0% | 0% | 3.2% | 22.37% |
| VTI | 0% | 0% | 0% | 33.43% | 33.75% | 32.53% | 0% | 30.6% | 30.6% | 0% | 33.75% | 0% | 19.59% | 10.85% | 33.75% | — | 1.22% | 32.53% | 0% | 0% | 2.85% | 19.59% |
| VTV | 0% | 0% | 0% | 1.23% | 1.4% | 0% | 0% | 2.26% | 2.26% | 1.42% | 1.4% | 0% | 3.72% | 9.97% | 1.4% | 1.22% | — | 0% | 0% | 0% | 12.21% | 3.72% |
| VUG | 0% | 0% | 0% | 34.01% | 36.97% | 59.52% | 0% | 40.0% | 39.97% | 0% | 36.97% | 0% | 38.22% | 15.47% | 36.97% | 32.53% | 0% | — | 0% | 0% | 5.2% | 38.71% |
| VWO | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | — | 5.41% | 0% | 0% |
| VXUS | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 6.71% | 0% | 0% | 0% | 0% | 0% | 0% | 5.41% | — | 0% | 0% |
| VYM | 0% | 0% | 0% | 2.88% | 3.2% | 5.76% | 0% | 3.4% | 3.4% | 2.93% | 3.2% | 0% | 6.11% | 13.5% | 3.2% | 2.85% | 12.21% | 5.2% | 0% | 0% | — | 7.07% |
| XLK | 0% | 0% | 0% | 21.03% | 22.37% | 40.19% | 0% | 32.11% | 32.07% | 0% | 22.37% | 0% | 52.25% | 13.16% | 22.37% | 19.59% | 3.72% | 38.71% | 0% | 0% | 7.07% | — |
Methodology
Overlap definition. For any two ETFs A and B, weight-based top-10 overlap is the sum of min(weight in A, weight in B) over every ticker that appears in both ETFs' top-10 holdings.
Holdings source. Top-10 holdings come from public fund holdings pages (sourced from issuer filings via StockAnalysis), refreshed quarterly. Funds rebalance, so the numbers shift over time. Dataset updated 2026-05-19.
What this misses. The figures use only the top 10 holdings of each ETF. For broad-market funds like VTI or VXUS, the long tail of small holdings adds further overlap that this metric does not capture. Treat these as a directional indicator of concentration, not a full holdings comparison.
Reproducibility. The raw dataset is published at /data/etf-overlap-data.json. Any reader can recompute these numbers from the same data.
For the calculator behind individual pair pages, see portfolio metrics methodology.
Check your own portfolio
The matrix shows pairwise overlap for 22 popular ETFs. Your portfolio probably has more than two — and may include funds outside this dataset.
7-day free trial · brokerage connection optional · cancel anytime