About
How etfcompare works
A free, independent tool for comparing ETFs side by side — built so the comparison page shows what a generic answer can't: holdings overlap, normalized historical growth, and a full stat table.
What this is
etfcompare is a side-by-side comparison tool for U.S.-listed exchange-traded funds. For any pair of tracked ETFs, we render the same set of objective comparisons: expense ratio, assets under management, dividend yield, holdings overlap, and a normalized 5-year growth chart rebased to 100.
Comparisons are deterministic: same inputs always produce the same page. There is no personalization and no editorial ranking.
What this is not
etfcompare is informational only. Nothing here is investment advice, a recommendation, an offer, or a solicitation. We are not a registered investment adviser, broker-dealer, or fiduciary.
Verify any data with the fund issuer's prospectus and fact sheet before making decisions. Past performance does not guarantee future results.
Data sources & refresh
- Profile + holdings + quotes: Financial Modeling Prep (FMP). Asset class strings are normalized; raw category labels are not stored unfiltered.
- Refresh cadence: current stats (price, expense ratio, AUM, yield) are refreshed daily. Holdings are refreshed weekly. Historical prices are fetched on render and cached for six hours.
- Validation: every external response is validated with a Zod schema. Rows that fail validation are logged and skipped — we never fabricate missing values.
How holdings overlap is calculated
For a pair (A, B) we join holdings on the constituent ticker when present and fall back to the holding name. The reported overlap percentage is the minimum of the two portfolios' shared weights — i.e. the largest fraction of either portfolio that is also in the other. This is a conservative measure: it never overstates overlap when the two funds hold the same names at very different weights.
We also report the count of shared holdings and the count of holdings unique to each side, plus a sortable table of the most heavily-shared positions.
Editorial standards
- No paid placement, no affiliate-driven ranking, no "sponsored" pairs.
- Comparison ordering is canonical (alphabetical by ticker). A vs B and B vs A render the same page.
- No AI-generated stat values. Any future AI-generated commentary will be clearly labeled and never used to derive numerical claims.
Contact & corrections
Found a data error or have a ticker request? Email hello@etfcompare.app. Corrections are typically applied within one business day.