Skip to main content
v2026.11,858 entries · CC-BY 4.0
LAC HealthMedical & Research SuppliesReagents, PPE & instruments — chain-of-custody documented.Fast, traceable sourcing built for regulated research environments, from bench consumables to instrumentation.Shop lac.us CodeCASRAIlac.us

BRFSS Questionnaire, Codebook, and Data Guide

A researcher guide to locating the CDC BRFSS questionnaire, downloading annual codebooks and datasets, and executing complex survey weighting with _LLCPWT.

Written and maintained by CASRAI Editorial Board

Last updated

The Behavioral Risk Factor Surveillance System (BRFSS) is a state-based telephone survey run by the Centers for Disease Control and Prevention (CDC) with health departments in the states and participating US territories. For researchers in public health and epidemiology, the annual BRFSS questionnaire and public-use dataset provide data on health outcomes, health-related risk behaviors, use of preventive services and chronic conditions among noninstitutionalized adults. This guide shows how to find the questionnaire, codebook and data files, and how to apply the survey design variables.

What It Is Used for in Research

Investigators use BRFSS data to study state-level patterns in health risk behaviors, preventive service use and chronic conditions, and to compare jurisdictions that ask the same core questions. Because every participating health department must ask the core component without modification, core variables are comparable across states.

The questionnaire has three parts:

  • Core component: The fixed core is asked by all states and covers demographics and current health behaviors such as tobacco use and seatbelt use. The rotating core consists of two topic sets, each asked by all states in alternating years; in the years a set is not part of the core, it is available as an optional module. The emerging core is up to five questions, usually on late-breaking issues, that stay in the core for one year and are then evaluated for future use.
  • Optional modules: Question sets on specific topics (past topics include smokeless tobacco, oral health, cardiovascular disease and firearms). States choose whether to use them, and CDC requires that modules used are not modified.
  • State-added questions: Questions that individual states add to their own surveys.

Install or Access (Official Source Only)

Public-use BRFSS files are published by CDC on its Annual Survey Data and Documentation page, which lists each survey year from 1991 to 2025. Each year has its own page with the data files, codebook and documentation. If your project combines BRFSS with other data under an institutional agreement, check whether a data use agreement applies and see the data use agreement template guide.

For the 2024 survey year, the CDC page offers:

  • SAS Transport format: “2024 BRFSS Data (SAS Transport Format)”, a ZIP file named LLCP2024XPT.zip containing 345 variables.
  • ASCII data: “2024 BRFSS Data (ASCII)”, a ZIP file named LLCP2024ASC.zip with a fixed record length of 2111 positions.
  • Codebook: “2024 BRFSS Codebook”, a ZIP file.
  • Documentation: “Calculated Variables in Data Files”, the 2024 Overview, the 2024 Weighting Formula, “Complex Sampling Weights and Preparing Module Data for Analysis”, “Comparability of Data” and the Summary Data Quality Report with response rates.

The same kinds of files are published for 2025.

Step-by-Step Task: Locating, Extracting, and Weighting BRFSS Data

Follow these six steps to set up a BRFSS analysis.

Step 1: Download the Annual Data and Documentation

Open the CDC Annual Survey Data page, select your survey year (for example 2024), and save the SAS Transport ZIP file (LLCP2024XPT.zip) together with the codebook and the documentation PDFs listed on that year’s page.

Step 2: Consult the BRFSS Codebook

Unzip the codebook to see the variable layout, question wording and allowed values for the year. Numeric codes such as 7 or 77 and 9 or 99 are used for “Don’t know” and “Refused” responses (CDC’s own SAS example recodes 7 and 9, and 77 and 99, to missing); check each variable in the codebook, because some use other codes (for example, 88 for “none” on PHYSHLTH).

Step 3: Identify Calculated Variables

CDC documents the variables it derives from survey answers in “Calculated Variables in Data Files”. Variables used to categorize respondents mostly begin with an underscore. Examples:

  • _BMI5: body mass index, calculated from the reported height and weight.
  • _RFHLTH: adults with good or better health versus fair or poor health, derived from GENHLTH.
  • _SMOKER3: four-level smoker status (everyday smoker, someday smoker, former smoker, non-smoker), derived from SMOKE100 and SMOKDAY2.
  • _AGEG5YR: fourteen-level age category, derived from AGE.

Step 4: Import the .XPT File

Extract the ZIP file and read the transport file in your statistical software. In R, haven::read_xpt() reads SAS transport files; in Python, pandas.read_sas() can read XPORT files; in SAS, a LIBNAME statement with the XPORT engine reads them.

Step 5: Specify Complex Survey Design Variables

CDC advises that analyses use complex sampling procedures that stratify and weight the data. For core-only variables in the combined landline and cell phone dataset, CDC names three design variables:

  • Final weight: _LLCPWT
  • Stratification: _STSTR
  • Primary sampling unit (cluster): _PSU

In SAS, specify the design using survey procedures:

proc surveymeans data=brfss2024;
    strata _STSTR;
    cluster _PSU;
    weight _LLCPWT;
    var _BMI5;
run;

proc surveyfreq data=brfss2024;
    strata _STSTR;
    cluster _PSU;
    weight _LLCPWT;
    tables _RFHLTH * _SMOKER3 / row chisq;
run;

In R, configure the design with the survey package (the backticks are needed because the names begin with an underscore):

library(survey)

# Define complex survey design
brfss_design <- svydesign(
    id = ~`_PSU`,
    strata = ~`_STSTR`,
    weights = ~`_LLCPWT`,
    data = brfss2024,
    nest = TRUE
)

# Estimate weighted proportions
svymean(~factor(`_RFHLTH`), design = brfss_design, na.rm = TRUE)

Step 6: Execute Domain Analysis for Subpopulations

For subgroups such as adults aged 65 and older, use the domain or subpopulation facilities of your survey software (the DOMAIN statement in SAS survey procedures, or subset() applied to the design object in R) so that the full design information is kept.

Output and How to Read It

Survey procedures report both unweighted counts and weighted estimates:

  • Unweighted frequencies: The number of completed interviews in each cell. They describe sample size and are not population prevalence.
  • Weighted percentages: Estimates obtained by applying _LLCPWT, representing the noninstitutionalized adult population.
  • Standard errors and 95% confidence intervals: Computed using the strata and cluster variables you declared. Consistent with observational reporting frameworks such as the STROBE checklist, report both unweighted denominators and weighted estimates with standard errors or confidence intervals.

Troubleshooting

  • Strata with a single sampling unit: When a subset leaves a stratum with only one PSU, standard errors cannot be computed by default. In R, CDC’s own example sets options(survey.lonely.psu = "adjust").
  • Wrong weight for optional modules: _LLCPWT applies to core-only analyses of the combined dataset. Where states used several questionnaire versions, CDC publishes separate datasets and weights (for 2025, _LCPWTV1, _LCPWTV2 and _LCPWTV3). Read “Complex Sampling Weights and Preparing Module Data for Analysis” before analyzing module data.
  • Numeric missing codes: Recode “Don’t know” and “Refused” codes (such as 7, 9, 77 and 99) to missing before calculating, as in CDC’s SAS and R examples (NA in R, . in SAS).

Free Alternatives

SAS is commercial software. CDC’s documentation also gives an R example, and R packages are free:

Tool Role in a BRFSS workflow Cost
R (survey and haven packages) Reads the transport file and fits the stratified, clustered, weighted design with svydesign(); used in CDC’s own example Free, open source
Python (pandas) Reads XPORT files with read_sas() for data preparation Free, open source

Frequently Asked Questions

Where can I download the official BRFSS questionnaire and codebook?

The questionnaires are on CDC’s BRFSS questionnaires page, and the data files, codebook and documentation for each year are on the Annual Survey Data and Documentation page; both are linked in the Sources section below.

What is the difference between core questions and optional modules in the BRFSS dataset?

All health departments must ask the core component without modification, so core data are comparable across states. Optional modules are topic question sets that states choose whether to use; if used, CDC requires they be used without modification.

Which weight variable should I use?

For core-only analyses of the combined landline and cell phone dataset, CDC directs users to _LLCPWT for weighting, _STSTR for stratification and _PSU for clustering. For module data, follow the module weight guidance for that year.

How are BRFSS calculated variables identified in the codebook?

Variables CDC uses to categorize respondents mostly begin with an underscore (for example _BMI5), with a few exceptions such as _STATE. The annual “Calculated Variables in Data Files” PDF documents how each is derived.

Sources

All sources checked 2026-11-07.

Follow CASRAI

Research-administration guidance, standards updates and independent tool reviews.

Ask CASRAI · free to try

Ask about BRFSS Questionnaire, Codebook, and Data Guide

Ask your first 2 questions free below. Subscribers get 150 a day for $29 a month.

An AI assistant specialized in research administration. It cites the sources behind every answer, labels web answers and says when it can't answer.

Answers draw on CASRAI's guides and dictionary plus the federal and funder documents we index: Federal Register, Grants.gov, Regulations.gov and UKRI.

Works on this site and inside Claude, Cursor and the AI tools you already use.

Everything CASRAI publishes — this page, the dictionary, the guides and the news — stays free to read, with no account and no card.

Referenced across the research world

University of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logoUniversity of Cambridge logoColumbia University logoCrossref logoUniversity of Edinburgh logoHarvard University logoUniversity of Oxford logoPrinceton University logoStanford School of Medicine logoUniversity College London logoORCID logo
  • University of Cambridge logo
  • Columbia University logo
  • Crossref logo
  • University of Edinburgh logo
  • Harvard University logo
  • University of Oxford logo
  • Princeton University logo
  • Stanford School of Medicine logo
  • University College London logo
  • ORCID logo

View CASRAI adoption →