How to Report Model Fit Indices in APA 7

In short

The fit line of a CFA or SEM carries five pieces, and this is the usual order: χ²(164, N = 412) = 341.62, p < .001, CFI = .961, TLI = .955, RMSEA = .051, 90% CI [.044, .059], SRMR = .042. The χ² is set upright because it is a Greek letter, and it is the only test in the whole manuscript that puts N inside the brackets next to the degrees of freedom; CFI, TLI, RMSEA and SRMR are abbreviated index names rather than single-letter symbols, so they are upright too, and none of them takes a leading zero. The RMSEA interval is a 90% one and not a 95% one because the question being asked is one-sided — is it below .05? — and a two-sided 90% interval leaves exactly 5% in the upper tail, so its upper bound is the boundary of that test. The χ² comes out significant in almost any large sample because the statistic is (N − 1) multiplied by the discrepancy between your matrix and the one your model implies, so a trivial misfit becomes detectable with enough people; you report it anyway, because it is the only index with a known sampling distribution and it is what nested model comparisons are built on. The Hu and Bentler (1999) thresholds — CFI and TLI ≥ .95, RMSEA ≤ .06, SRMR ≤ .08 — came out of a simulation run under specific conditions, and they are cited as a convention, not as a pass and a fail.

You ran the CFA, lavaan or Mplus threw a screen of twenty numbers at you, and now you have to turn that into one line of Results. The doubt is almost never which of those numbers is the CFI: it is whether it goes in italics, whether the interval your RMSEA output prints is the one to copy, how many decimals to keep, and what to do about a significant χ² when every other index says the model is fine. Here is the full line, what each number is actually measuring, why the RMSEA interval is a 90% one, and where the thresholds everybody quotes as law came from. If what you need is the whole report and not just the fit line, start with how to report a confirmatory factor analysis in APA 7.

What the fit line has to carry

Five pieces, in this order: the χ² with its degrees of freedom and N, the CFI, the TLI, the RMSEA with its 90% interval, and the SRMR. The full sentence, as it goes into the Results section, reads like this: "the four-correlated-factor model showed acceptable fit, χ²(164, N = 412) = 341.62, p < .001, CFI = .961, TLI = .955, RMSEA = .051, 90% CI [.044, .059], SRMR = .042." Not one index more and not one fewer: reporting eight indices does not demonstrate rigor, it demonstrates that you went looking for the ones that came out well.

Italics are decided letter by letter, and two rules collide here. The χ² is a Greek letter, so it stays upright, exactly like Wilks' Λ or the η² of an ANOVA; N and p are Latin and are italicized. CFI, TLI, RMSEA and SRMR are not single-letter symbols, they are abbreviated index names, which is why they are upright as well. The chi-square is also the odd one out of the entire test family: it is the only one that puts the sample size inside the brackets, after the degrees of freedom and separated by a comma. If you are revising the whole rule, it lives in italics, decimals and leading zeros in APA 7.

None of the four indices takes a leading zero, because none of them exceeds 1 under normal conditions: CFI = .961, not 0.961. Decimals are chosen once and then held: two or three for all four, and three when you are close to a threshold, for a reason that is not cosmetic. A CFI of .948 rounded to ".95" reads as though you reached a convention you did not reach, and that upward rounding is one of the things a methods reviewer checks by opening your output.

Ahead of the line goes a sentence almost nobody writes, and it decides how those numbers are read: which estimator you used and what you did with missing data. A normal-theory maximum likelihood CFI is not the robust MLR CFI, and lavaan prints both columns side by side without telling you which one you want. Take the robust column when you estimate with MLR or WLSMV, say so in those words ("robust indices, MLR estimator"), and never mix the scaled χ² from one column with the RMSEA from the other. If you want the line assembled from your own numbers with the loading table underneath, the CFA APA report generator writes it in this format.

The χ²: why it is always significant, and why you report it anyway

The null hypothesis behind a model χ² is not "the model does reasonably well". It is that the population covariance matrix is exactly the one your model implies, down to the last decimal. No model in psychology meets that, because every one of them is a deliberate simplification of something messier. And the statistic is built by multiplying (N − 1) by the discrepancy between your observed matrix and the implied one, so the discrepancy stays where it is while the multiplier grows: with enough people, a misfit nobody cares about ends up clearing the bar.

The numbers teach this better than the explanation does. The same twenty-item model in two samples: χ²(164, N = 412) = 341.62, p < .001, RMSEA = .051 in the first; χ²(164, N = 1,842) = 612.45, p < .001, RMSEA = .039, CFI = .973 in the second. The χ² has almost doubled and the model fits better, not worse. The normed chi-square does the same thing: 2.08 in the first case and 3.73 in the second, which means the large sample fails the famous "χ²/df < 3" while the RMSEA improves. That ratio inherits the sample-size dependency whole, and it is the worst-traveling index still in circulation.

The opposite mistake is more expensive and harder to spot. A twelve-item, two-factor scale in 95 people gives χ²(53, N = 95) = 66.21, p = .105, and the temptation is to write "the χ² was non-significant, so the model fits". It does not fit: 95 people simply gave you no power to detect a moderate misfit. The RMSEA from that same output is .051 — identical to the large example — but its 90% interval runs from [.000, .087]. That interval says the data are compatible with a perfect model and with a poor one, which is precisely what having tested nothing looks like.

You report it every time all the same, for two reasons. It is the only quantity in the block with a known sampling distribution, so it is the only one that supports an actual test rather than a comparison against a convention. And it is what nested comparisons are built on: the χ² difference with its difference in degrees of freedom is what decides whether the four-factor model beats the one-factor model, or whether invariance holds. With MLR and WLSMV those differences cannot be subtracted by hand, because the scaled χ² is not additive and you need the Satorra and Bentler correction; the SEM model comparator runs that arithmetic and hands you the line with Δχ² and Δdf.

CFI and TLI: what you are being compared against

Both are incremental indices: they do not measure whether your model is good, they measure how far you have moved from a baseline model in which no variable correlates with any other. In the worked example that null model gave χ²(190, N = 412) = 4,744.18, and the CFI comes from comparing the two departures: 1 − (341.62 − 164) / (4,744.18 − 190) = .961. Read out loud, your model closes 96% of the distance between "nothing correlates here" and "perfect fit".

One consequence of that surprises people the first time they meet it. If your variables correlate weakly with each other, the baseline model is not such a bad starting point, the total distance available to travel is short, and the CFI sinks even when the model is correctly specified. Kenny and McCoach (2003) showed the pattern with models of increasing size: as the number of variables grows, CFI and TLI tend to get worse while RMSEA tends to improve. When two indices contradict each other it is rarely that one is lying; they are penalizing different things, and that is worth saying in the manuscript instead of reporting only the one that suits you.

The TLI has a feature its sibling lacks: it is not normed. It corrects for parsimony using the degrees of freedom and, in models with many df and good fit, it can exceed 1. If your output says 1.02, you report 1.02 and add a sentence; truncating it to 1.00 or nudging it to .99 so it looks like a normal index is falsifying an output. In the example, TLI = .955 sits a shade below the CFI, which is what usually happens: the parsimony correction costs a few thousandths in almost any model that fits well.

A note on rounding that looks minor and is not. Thresholds turn a continuum into a pass mark, so the third digit decides: .948 and .952 are practically the same model, but one "meets" the criterion and the other does not. Report three decimals when you are in that band and leave the rounding alone. The honest alternative is to write that the CFI falls a little below the convention and to explain why the rest of the picture holds up.

The RMSEA and its 90% interval, which is not 95% for a reason

The RMSEA measures misfit per degree of freedom, so it rewards parsimony: it penalizes the model for departing, but it spreads that departure across the restrictions you imposed. It is the square root of (χ² − df) divided by df(N − 1), and with the example in front of you that is (341.62 − 164) / (164 × 411) = .0026, whose square root is .051. When the χ² comes out below the degrees of freedom, the numerator is truncated at zero, which is why you see outputs with RMSEA = .000 and never a negative number.

The interval is built by inverting the non-central chi-square distribution (Steiger & Lind, 1980), and the choice of 90% is not a typographical quirk: it is what makes the interval and the test say the same thing. The question put to the RMSEA is one-sided — is it below .05? — and a two-sided 90% interval leaves 5% in each tail, so its upper bound coincides exactly with the critical value of that one-sided test at α = .05. With a 95% interval, that upper bound stops meaning any such thing. Browne and Cudeck (1993) and MacCallum, Browne and Sugawara (1996) set it up this way, and your software has already done the work: lavaan and Mplus print the 90% interval by default, and AMOS labels the columns LO 90 and HI 90. Nothing needs converting; the number is already there to copy.

The APA format is the format of any other interval: RMSEA = .051, 90% CI [.044, .059], square brackets, comma inside, the same decimals as the point estimate, no leading zeros. Many outputs sit the close-fit test beside it, the p for the population RMSEA being ≤ .05, which in this example is .38. That value reads the opposite way round to every other p in your manuscript: here a large value is the good news, because failing to reject means close fit stands. Give it a sentence explaining what is being tested, or your reader will interpret it as though it were the χ² p value.

The RMSEA has a documented blind spot, and it is better to know it before a reviewer mentions it. Kenny, Kaniskan and McCoach (2015) showed that with few degrees of freedom it inflates and can flag a correctly specified model as poor, so in small models you report it cautiously and lean on the other indices. And with small samples the interval opens so wide that it stops discriminating: that [.000, .087] from the 95-person model is the proof that the data cannot support a conclusion. Reporting the interval is exactly what makes that visible, rather than only the number you like.

The SRMR is the only one looking at the residuals

The other three come from the discrepancy function; the SRMR comes from the correlations left unexplained. It is the square root of the mean squared difference between the observed correlations and the ones your model implies, so it answers a different and very concrete question: how far off, on average, are the correlations you were trying to reproduce. An SRMR of .042 says your typical reproduction error runs at about four hundredths of a correlation. It is the easiest index to explain to a committee and the one fewest people know how to read.

That is why Hu and Bentler proposed combinational rules rather than a threshold per index: an incremental index or the RMSEA together with the SRMR. They catch different errors. The SRMR reacts first when the misspecification is structural — a factor covariance or a missing path — while CFI and RMSEA react first when the misspecification is in the loadings. A model with CFI = .96 and SRMR = .11 is not a model with one odd index: it is a model that reproduces the loading structure well and the relations between factors badly, and that is where you should be looking.

Two warnings so the number means what you think it means. With ordinal indicators and WLSMV estimation, the conventional cut-offs come from simulations with continuous variables and maximum likelihood, so they travel poorly; some software offers you the WRMR in that case, and if you report it, say what it is. In multilevel models there is no single SRMR, there are two — within and between — and reporting only one of them leaves out precisely the part of the model that tends to break. When the SRMR spikes, the next step is not another index: it is opening the standardized residual matrix and finding which pair of variables is sitting at 3.2.

Hu and Bentler is a convention, not a pass mark

The thresholds everyone quotes — CFI and TLI ≥ .95, RMSEA ≤ .06, SRMR ≤ .08 — come out of a 1999 simulation run under specific conditions: maximum likelihood estimation, continuous and approximately normal variables, and simple-structure factor models. Under those conditions, those combinations minimized false positives and false negatives at the same time, and the authors themselves warned that at N ≤ 250 the rule rejects models that are correctly specified. Hu and Bentler wrote that these were guidelines for a family of situations and not universal constants, and Marsh, Hau and Wen (2004) had to devote a whole paper to repeating the point once the "golden rules" were already everywhere.

The practical consequence is that .95 does not mean in your model what it meant in the simulation. Forty ordinal items, six factors, WLSMV and 300 participants is a different planet, and a CFI of .93 there can be perfectly defensible fit. Write it as what it is — "fit indices were interpreted following the guidelines of Hu and Bentler (1999)" — and not as "the model fits well because the CFI exceeds .95", which turns a convention into a law and leaves your flank open to the first methods reviewer who reads it.

When the CFI stalls at .93, the easy way out is to open the modification indices and correlate residuals until you cross the line. That does not fix the model, it fixes the number, and the bill arrives in the Discussion: every modification made after seeing the data turns your test into a description. If you modify, say so in those words, justify each residual correlation on content — two items worded almost identically, not "the software asked for it" — and report the modified model's fit as exploratory. And report all four indices even when one is ugly: a reader who sees three assumes the fourth came out badly.

Model comparisons have conventions of their own, with the same status. For measurement invariance the usual citations are ΔCFI ≤ .01 (Cheung & Rensvold, 2002) and ΔRMSEA ≤ .015 (Chen, 2007), and they exist for the same reason the others do: the χ² difference becomes unbearable in large samples. They are practical criteria with their own simulation conditions behind them, not a verdict, and that is how they should be cited when you test the measurement invariance of your scale.

Frequently asked questions

How do you report model fit indices in APA 7?

In a single line, with the χ² first and the four indices behind it: χ²(164, N = 412) = 341.62, p < .001, CFI = .961, TLI = .955, RMSEA = .051, 90% CI [.044, .059], SRMR = .042. The χ² is the only test that puts N inside the brackets. Ahead of that line you need a sentence naming the estimator and the treatment of missing data, because a maximum likelihood CFI and a robust MLR CFI are not the same number.

Why is the RMSEA confidence interval 90% and not 95%?

Because the question put to the RMSEA is one-sided: whether the population value sits below .05. A two-sided 90% interval leaves 5% in each tail, so its upper bound coincides exactly with the critical value of that one-sided test at α = .05; with a 95% interval, that upper bound no longer matches the test your reader has in mind. Steiger and Lind (1980) built it that way, and lavaan, Mplus and AMOS already print it at 90%, so nothing needs converting.

What are acceptable CFI, TLI, RMSEA and SRMR values?

The most cited convention is Hu and Bentler (1999): CFI and TLI ≥ .95, RMSEA ≤ .06 and SRMR ≤ .08, with the earlier literature working from ≥ .90 for the incremental indices. These are guidelines from a simulation with maximum likelihood, continuous variables and simple-structure factor models, and the authors themselves warned that they were not universal constants and that at N ≤ 250 the rule rejects correctly specified models. With ordinal indicators, large models or small samples, a CFI of .93 can be defensible if you argue it and show the rest of the picture.

Why is my chi-square significant when the model fits well?

Because its null hypothesis is that your model reproduces the population covariance matrix exactly, and the statistic is (N − 1) multiplied by the discrepancy: the departure stays put while the multiplier grows with the sample. The same model moves from χ²(164, N = 412) = 341.62 to χ²(164, N = 1,842) = 612.45 while the RMSEA drops from .051 to .039. You report it regardless, because it is the only index with a known distribution and because nested model comparisons are built on it.

Are fit indices italicized in APA?

No. CFI, TLI, RMSEA and SRMR are abbreviated index names rather than single-letter symbols, so they stay upright. The χ² is upright too, because it is a Greek letter. The only italics in that line are N and p. None of the four indices takes a leading zero, because none of them exceeds 1 under normal conditions.

What do I do if my CFI is .93?

First, do not chase .95 with modification indices: every change made after seeing the data turns the test into a description and has to be declared exploratory. Look at the whole picture, because CFI and TLI get worse as the model grows or as the variables correlate weakly with each other, and if the RMSEA and the SRMR hold up, that is an argument you can make. Then open the standardized residual matrix: a residual of 3.2 between two items tells you where the problem is, which no global index ever does.

Is your RMSEA carrying a 90% interval, or whatever default came with the script you copied?

It is the two-second check that separates a correct fit line from one a methods reviewer marks on the first read.

Run your paper through Previum →

With the χ² and its degrees of freedom, the CFI, the TLI, the RMSEA with its 90% interval and the SRMR, plus one sentence naming the estimator, your fit line is reported the way APA 7 asks. When the fit will not cooperate and you have to decide whether the problem is the model, the items or the estimator — or whether to defend a CFI of .93 in front of a reviewer — that is what my statistical consulting is for.

Cite this guide

Ciudad-Fernández, V. (2026, September 4). How to Report Model Fit Indices in APA 7. Ciudad Science. https://analisisdedatospsicologia.com/en/blog/how-to-report-model-fit-indices-apa-7

Keep reading

All blog articles