Where can you carry a concealed gun in public?

Every state plus the District of Columbia allows gun owners to carry concealed handguns. Here's how the laws differ.

Select an option below to filter the map and learn more about each law:

Shall issue (no discretion)
Permits are granted to anyone who meets the state's minimum legal requirements, generally that the applicant a) is not a convicted felon and b) has not been found to be mentally unstable. Mississippi passed a new law this year that allows people to carry a gun in a purse or bag — known as "off-body carrying" — without a permit. The law goes into effect July 1.
Shall issue (limited discretion)
Permits are granted to anyone who meets the state's minimum legal requirements, with the issuing agency reserving the right to deny a permit under certain limited circumstances — for example, if the issuing agency determines that the applicant is believed to pose a danger to himself/herself or others.
May issue (complete discretion)
The issuing agency has complete discretion to decide whether to grant a permit to eligible gun owners. In California, for example, an applicant must be of "good moral character" and demonstrate "good cause" to carry a gun. The District of Columbia began processing concealed carry permits in 2014 after a federal judge struck down the city's long-standing ban on carrying guns in public.
No permit required
Anyone legally allowed to possess a gun may carry one in public.
Locations of U.S. circuit court rulings on concealed carry cases
Shall Issue (No Discretion)
Shall Issue (Limited Discretion)
May Issue (Complete Discretion)
No Permit Required
Return to overview map
AlaskaNo Permit Required
Concealed carry laws by state A choropleth map of the United State's concealed weapons laws, colored by the level of discretion required in each state.
Return to overview map

Credit: Julia Smith/Reveal
Source: Reveal research by Matt Drange; permitting policy data from Law Center to Prevent Gun Violence

This interactive feature requires a modern browser with JavaScript enabled.