What's actually inside the TSP funds
The Thrift Savings Plan holds more than a trillion dollars for millions of federal employees and service members, and publishes no holdings for any of its funds. It names the index each one tracks and stops there. This is the look-through those indexes imply — every company inside the C, S, I and F funds, how concentrated each fund is, and how much they overlap one another.
The five funds
| Fund | Tracks | Shown via | Holdings | As of |
|---|---|---|---|---|
| C Fund Large-capitalisation US company stocks — the common-stock index fund. | the S&P 500 | VOO | 505 | 2026-06-30 |
| S Fund US companies outside the S&P 500: small and mid-cap — the small-cap index fund. | the Dow Jones U.S. Completion Total Stock Market index | VXF | 3,327 | 2026-06-30 |
| I Fund International company stocks — the international stock index fund. | a broad index of non-US developed and emerging markets | VXUS | 8,453 | 2026-06-30 |
| F Fund US government, corporate and mortgage-backed bonds — the fixed-income index fund. | the Bloomberg U.S. Aggregate Bond index | AGG | 1,864 | 2026-07-23 |
| G Fund Government securities | Not shown — see below. | |||
Why no G Fund
The G Fund is deliberately absent. It holds non-marketable US Treasury securities issued only to the TSP, which are not traded anywhere and have no market equivalent. Showing it through a bond fund would misrepresent an instrument whose defining feature is that its principal cannot fall.
Frequently asked
Does the TSP publish what its funds hold?
No. The Thrift Savings Plan does not publish constituent holdings for its funds and does not file SEC form N-PORT, which is the disclosure that makes mutual fund holdings public. It states which index each fund tracks, and nothing below that level.
So how can this site show TSP holdings?
It shows a labelled proxy. Each TSP fund is displayed through a covered index fund tracking the same benchmark — the C Fund through VOO, the S Fund through VXF, the I Fund through VXUS, the F Fund through AGG. Index funds tracking the same benchmark hold nearly identical portfolios, so the picture is close, but these are the proxy's weights and not the TSP's own. Every page says so.
Why isn't the G Fund included?
The G Fund is deliberately absent. It holds non-marketable US Treasury securities issued only to the TSP, which are not traded anywhere and have no market equivalent. Showing it through a bond fund would misrepresent an instrument whose defining feature is that its principal cannot fall.
Do the TSP funds overlap each other?
The C and S funds are built not to: the S Fund tracks a completion index, meaning US companies outside the S&P 500 that the C Fund already holds. The I Fund is non-US and the F Fund is bonds. Each fund page shows the measured overlap against the other three, computed as the sum of the smaller weight in each fund over every holding both own.
Your TSP is probably not your whole portfolio
Most federal employees hold something alongside the TSP — an IRA, a spouse's 401(k), a brokerage account. Paste them together and see what you actually own underneath all of it, how much is duplicated, and your own Effective Funds number. Free, no account, nothing stored.
X-ray my portfolio — free →TSP funds shown via index proxies, never as TSP-published data. Weights are fractions of each proxy fund. Diagnostics, not advice. Full methodology.