
State Firearm Laws: A Guide for Ecommerce Compliance
Ensure ecommerce compliance by mapping state firearm laws to shipping rules, age limits, magazine bans, FFL transfers, and plugin setups for all 50 states.
Cody Y.
Updated on Jul 28, 2026
You've got a cart ready to ship, the labels are printed, and a customer in another state just paid for a firearm or accessory that may not be legal where it's headed. That's the moment when state firearm laws stop being abstract policy and start becoming an order-cancellation problem, a customer-service problem, and sometimes a legal one. For eCommerce retailers, the fix isn't more manual checking, it's a shipping rules layer that can read an address, compare it against the right rule set, and stop a bad order before it gets too far.
The challenge is that the U.S. doesn't operate like a single nationwide rulebook. As of July 2024, almost half of U.S. states required a background check and/or permit before purchase, while only 13 states restricted open carry, which shows how sharply the rules can vary from one jurisdiction to the next (Statista overview of U.S. gun laws). That patchwork is why compliance teams, developers, and store operators need a state-by-state shipping plan instead of a one-size-fits-all policy.
For WooCommerce merchants, that usually means turning legal requirements into checkout logic. If you need a practical starting point, the firearms category page at Ship Restrict's firearms industry guide is the natural internal reference point, and teams that want help implementing address-based restriction logic often bring in senior ecommerce developers from to translate policy into code and workflow.
Introduction to State Firearm Law Compliance
A small retailer can do everything right on the product side and still fail at shipping. A customer enters a valid address, the payment clears, and only later does someone on the team realize the destination state requires a different transfer process, a different age threshold, or a blocked SKU rule that should have fired at checkout. That's the expensive part of manual review, it catches problems after the order has already consumed staff time.
Automate FFL Shipping Compliance
Block orders to restricted states automatically. 3-day free trial.
Start Free TrialThe practical answer is to treat state firearm laws as a shipping control problem, not just a legal research problem. Each state can change who may buy, what may ship, whether a dealer transfer is required, and whether extra checks or storage rules apply at home. The business risk sits in the gap between “legal in one state” and “shippable to this address,” which is why address-level enforcement matters.
A strong compliance workflow starts with three questions. First, what does federal law already control? Second, what does the destination state add or restrict? Third, does the state allow local rules on top of that? Once those layers are clear, checkout rules can block, flag, or route orders instead of relying on someone to remember every exception.
Practical rule: if a rule changes whether an order can legally leave your warehouse, make it a shipping rule, not a note in a spreadsheet.
Retailers that ship regulated products need that discipline because the rule set changes over time, and a single national storefront can hit several legal thresholds in one afternoon. That's why the rest of this guide focuses on the legal categories that matter for fulfillment, how they map to Ship Restrict rule types, and where to verify the underlying law before you update your store configuration.
Overview of Key Law Categories

Retailers get into trouble when they try to treat every firearm statute as a separate exception. A cleaner method is to group state rules into operational categories, then map each one to a block, flag, or document upload rule in Ship Restrict.
Possession and sale prohibitions
These rules identify who cannot lawfully possess a firearm and which sales are off limits. For shipping, that means the order may be fine from a product standpoint but still fail at the destination state level. If a state bars a transfer category, fulfillment should stop before the label prints.
Minimum purchase age
Age rules determine whether a customer can buy a handgun, a long gun, or another regulated item. In shipping terms, that is both a front-end validation issue and, in some cases, a dealer-routing issue. If the store collects age data too late, the team often ends up canceling the order after payment, which creates avoidable service work.
Magazine and assault-weapon restrictions
These rules usually target large-capacity magazines or certain firearm configurations. For eCommerce, they create SKU-level exposure because one item in the cart may be shippable while another is not. That is why the restriction belongs in product tagging and shipping logic, not only in legal review.
Federal law baseline
Federal law sets the national floor for commercial sale and transfer rules. State law can add stricter conditions, but it does not remove federal requirements. Ship Restrict's approach to federal preemption rules helps retailers separate the baseline from the destination-state layer before they configure checkout behavior.
Free Firearms Compliance Audit
Selling firearms or ammunition? We'll review your WooCommerce store's shipping compliance for free.
FFL and transfer rules
A Federal Firearms License process changes where the order can go and who may receive it. In many workflows, the shipment has to move through a licensed dealer instead of going directly to the buyer. That is a clear case for a hard shipping restriction, because the wrong routing path creates a compliance problem at the warehouse level.
Background-check requirements
Background-check laws often decide whether the buyer must clear a state-run process, a NICS-based check, or a permit step before purchase. Many states require a background check or permit before purchase, which is why checkout systems need a rule layer that can pause or redirect orders by destination state. A retailer that skips this layer ends up discovering the issue only after the order is already in motion, which is too late for clean fulfillment.
Shipping controls by rule type
For practical implementation, these categories line up with different Ship Restrict behaviors. A possession ban usually becomes a block rule. A transfer restriction often needs a block rule with an address or destination-state condition. Age and permit issues usually fit a flag or document upload rule, especially when the buyer can still complete the order after verification. SKU-specific magazine or configuration limits work best when tied to product tags, so the store can stop the wrong item before it reaches the cart or checkout step.
The same state can trigger more than one rule type at once. A handgun order might need age verification, dealer transfer routing, and a destination-state check, all before the label is generated. That is the core shipping problem, because legal categories only become useful when they tell the store what to do at checkout.
Navigating Federal and Local Preemption

A shipment can be legal at the federal level and still fail on arrival because state or local law adds another layer. Federal law sets the floor, then states decide how much room remains for local regulation, which is why a retailer has to check more than one authority before release. If your checkout logic treats every destination the same, it will miss the states where local rules still matter.
Washington shows a straightforward full preemption model, where the state largely shuts out local firearm regulation. California requires a different compliance path, because state rules and local overlays can both affect how an order should be handled, as outlined in the MRSC overview of firearm regulation and preemption. A merchant shipping across state lines has to know which level controls the transaction, because the wrong assumption sends the order into the wrong fulfillment path.
For teams that want the legal concept tied directly to implementation, what federal preemption means for firearm shipping is the point where the rule hierarchy becomes a shipping rule problem. Federal law stays first in the stack, but the checkout system still needs to decide whether state or local limits change the destination treatment.
How to translate that into checkout logic
Build the rule layers in order.
- Federal baseline first. Use this for commercial-sale requirements that apply everywhere.
- State rule second. Add the destination-state restriction, because that is usually what changes the shipment path.
- Local override third. Apply city or county rules only where the state allows them and where you can verify them reliably.
That structure helps prevent overblocking and underblocking at the same time. It also keeps customer messaging cleaner, because the cart can explain why an order is restricted without inventing a vague legal reason.
Operational rule: when layers conflict, default to the strictest applicable restriction until a lawyer or authoritative state source confirms otherwise.
For WooCommerce controls, the practical setup is to separate state-level blocks from optional municipal overlays in the shipping rule engine. That lets a handgun or magazine order hit the right rule type before the label prints, whether the fix is a block, a flag, or a dealer-routing requirement. It also keeps an audit trail that shows which layer changed, which matters when staff has to trace why one destination was allowed and another was stopped.
Using State Entries and Navigation Guide
The state summaries in this guide follow one template so your team can scan them fast. Each state entry is organized around possession and sale prohibitions, age limits, magazine rules, FFL transfer obligations, background-check triggers, transport and storage rules, and municipal exceptions. That consistency matters because compliance work breaks down when every state note is formatted differently.

Use the sidebar navigator to jump straight to a state instead of scrolling line by line. That's the fastest way to compare a strict state against a more permissive one, especially when you're deciding whether to set a block, a flag, or a dealer-routing requirement. If your team manages several product categories, keep the strictest states at the top of your testing queue so rule failures surface early.
The labels in each entry are designed for quick triage. A state with heavy transfer rules should catch your eye immediately, while a state with municipal carve-outs deserves a second look before you publish checkout changes. In practice, that means your merchandising team, fulfillment team, and developer can all read the same summary without translating it into different internal notes.
State by State Law Summaries
The point of these summaries is not to replace legal review, it's to give your shipping workflow a reliable first-pass filter. The federal state-law database research shows that the number of firearm laws has nearly doubled in the last 26 years, with some states expanding and others decreasing their rules, which is exactly why static rulebooks age badly (Boston University School of Public Health summary).
Alabama
Permissive relative to stricter states, but still verify buyer eligibility and product class before shipment. Use a flag at checkout for regulated items, especially if the order includes accessories that may be bundled with restricted products.
Alaska
Less dense state-level restriction than many states, but shipping still needs age and transfer verification where applicable. A minimum age check plus a manual review flag is the safer operational pattern.
Arizona
Generally lighter on state transfer layering than high-restriction states. A retailer can usually rely on SKU-level blocks for banned items and keep the rest on a standard compliance review path.
Arkansas
State rules require careful buyer and product screening, especially if a transaction crosses into a regulated transfer scenario. Use a checkout warning when the item requires special handling through a dealer.
California
Dense state restrictions make California a prime candidate for block at checkout, require FFL upload, and restrict magazine SKUs logic. This is one of the clearest examples of why shipping rules need to be state-specific and not just product-specific.
Colorado
State-level compliance is more layered than in permissive states, so age and transfer review should happen before payment capture. A flag for manual review keeps staff from issuing refunds after the fact.
Connecticut
Use a hard block for any item or transfer that doesn't align with state restrictions and a require document upload flow for products that need dealer involvement. Customer messaging should point to the required process instead of leaving the cart error unexplained.
Delaware
Treat Delaware as a state where buyer eligibility and transfer routing deserve attention before fulfillment. A state-specific hold is better than shipping first and checking later.
Florida
Because state and local rules can affect the shipment path, build a state rule plus optional municipal override structure. That prevents local restrictions from slipping past a generic statewide rule.
Georgia
Use standard age and eligibility checks, then apply special handling only where the product class requires it. For many stores, a soft flag is enough unless the item triggers a transfer requirement.
Hawaii
Island shipping adds logistical friction on top of the legal review, so align your product rules with destination-state restrictions before checkout. A block plus dealer-routing workflow is the safest default for regulated firearms.
Idaho
More permissive than many states, but that doesn't remove the need to screen against federal transfer rules. Keep a background review flag for products that can't move on a simple direct-ship path.
Illinois
Illinois deserves strict shipping logic because its compliance layers can affect both eligibility and transfer handling. Use age checks, transfer routing, and address-based blocks where your legal review requires it.
Indiana
State compliance is simpler than in highly regulated states, but product class still matters. A basic eligibility flag can keep routine orders moving without overcomplicating checkout.
Iowa
Use state screening for transfer-related products and keep the rules explicit in customer messaging. If a dealer transfer is required, don't bury that in post-purchase support email.
Kansas
Kansas usually calls for a lighter-touch shipping policy, but regulated items still need age and lawfulness checks. A rule-based flag is usually enough for compliant inventory control.
Kentucky
Use standard checks for eligible buyers and route only the restricted products into special handling. That keeps normal orders from being overblocked.
Louisiana
Louisiana retailers should pair product controls with destination-state checks because transfer obligations can change the shipping path. A manual review trigger is the practical default for edge cases.
Maine
Maine is a good example of a state where policy nuance can matter more than blanket restrictions. Use a clean category block for prohibited items and keep the rest in standard processing.
Maryland
Maryland often warrants tighter shipping controls, especially for transfer-related items. A require FFL match rule is appropriate when the shipment can't legally go direct.
Massachusetts
Massachusetts is a strong candidate for dealer-routing rules, especially where the transfer path must be verified before shipment. Add a checkout hold for orders that need documentation.
Michigan
State compliance is best handled with buyer screening and product-specific restrictions rather than broad cart shutdowns. Use a flag at checkout for items that need special legal review.
Minnesota
Minnesota generally benefits from product-level rules and age checks instead of blanket blocks. Keep customer-facing explanations short and specific so support tickets don't pile up.
Mississippi
Use standard shipment screening and reserve stronger controls for items that clearly trigger them. A restricted SKU list can do most of the work without overcomplicating the cart.
Missouri
Missouri needs fewer default blocks than high-restriction states, but shipping still has to respect federal transfer rules. That means a documented review path for any special-case order.
Montana
Montana is usually lighter on state-level friction, but the store still needs checks for age and lawful transfer. A soft flag works well for keeping compliance visible without slowing every order.
Nebraska
Nebraska shipping policies should emphasize eligibility checks and dealer routing where required. Use a state-specific override if a product class needs more than the standard process.
Nevada
Nevada sits in the middle, so clear shipping logic matters. A destination-state rule is useful when your catalog includes items that trigger a transfer or storage issue.
New Hampshire
New Hampshire often allows a narrower rule set than stricter states, but retailers still need to screen for restricted products. Use a product block list where your legal review demands it.
New Jersey
New Jersey is a state where shipping compliance should be conservative. Use hard blocks, dealer transfer routing, and manual review for any regulated item that could be misrouted.
New Mexico
New Mexico usually calls for moderate controls focused on eligibility and transfer checks. A checkout flag can catch the awkward cases without stopping every sale.
New York
New York is another high-attention state for shipping rules, with strong reasons to require careful address screening and product controls. Use a block plus document verification setup when your compliance review calls for it.
North Carolina
North Carolina requires attention to transfer context and destination rules, especially when product class changes the legal path. A state-level flag is the right default for regulated items.
North Dakota
North Dakota is generally less restrictive than heavily layered states, but compliance doesn't disappear. Keep a light eligibility check and reserve hard blocks for clearly restricted items.
Ohio
Ohio shipping logic should distinguish between ordinary products and items needing transfer handling. A dealer-routing trigger is the right control when the law requires a licensed intermediary.
Oklahoma
Use standard purchase screening and keep the cart messaging direct. A restricted SKU block is enough for most compliance workflows here.
Oregon
Oregon requires careful product review because state rules can affect how an item moves from warehouse to buyer. A manual review flag helps the team catch issues before fulfillment.
Pennsylvania
Pennsylvania often needs a transfer-aware shipping policy, especially for regulated firearm sales. A document upload requirement can be more useful than a simple yes-or-no block.
Rhode Island
Rhode Island deserves stricter scanning of buyer eligibility and transfer obligations than a permissive-state default. Use a hard hold for orders that can't proceed without extra checks.
South Carolina
South Carolina can often run on more standard screening, but regulated items still need state-specific attention. A checkout flag is appropriate when the item class needs review.
South Dakota
Use a light compliance layer for normal items and stronger rules for regulated transfers. The right control is usually flag first, block only when necessary.
Tennessee
Tennessee retailers should focus on transfer context and age screening rather than overblocking the entire catalog. A state-rule branch in checkout keeps the process manageable.
Texas
Texas has a broad market, so rule clarity matters more than ever. Use destination-state checks for regulated products and avoid assuming that a large state is automatically simple.
Utah
Utah generally fits a lighter shipping policy, but age and lawful transfer checks still belong in the workflow. A manual review flag is enough for most edge cases.
Vermont
Vermont buyers still need product-specific screening even if the state doesn't create as much friction as stricter jurisdictions. A restricted-item block keeps the store consistent.
Virginia
Virginia is a good candidate for nuanced shipping logic because transfer and eligibility rules can change the shipping path. Use a state-specific compliance branch instead of a blanket cart block.
Washington
Washington is notable because local regulation is largely preempted by the state, which simplifies the hierarchy but not necessarily the restrictions. A state-first rule set is the right implementation model here.
West Virginia
West Virginia usually allows a lighter-touch shipping policy, but regulated products still need review. Keep the workflow focused on eligibility and transfer checks.
Wisconsin
Wisconsin should be handled with standard compliance controls and a close eye on product class. A checkout flag is better than a late-stage cancellation.
Wyoming
Wyoming is generally less restrictive than many states, but the retailer still needs a clean screen for lawful shipment. Use a minimal block list and keep the rest in routine processing.
District of Columbia
The District calls for the most conservative shipping approach because local and state-like restrictions can be dense. A hard block plus manual legal verification is the safest workflow for regulated shipments.
Implementing Shipping Compliance Across States

The cleanest implementation is to turn each legal rule into a shipping action. If the law changes who can buy, your cart needs an age or eligibility check. If the law changes where the item must go, the shipping zone needs a block or a dealer requirement.
The practical mapping is straightforward. Age limits become minimum-age checks. Magazine restrictions become blocked SKU rules. FFL transfer requirements become required-document or dealer-routing rules. Background-check triggers become checkout holds or order review flags before capture.
Operational rule: if staff can't explain the restriction in one sentence, the customer probably can't understand the cart error either.
That's why clear messaging matters. Tell the buyer whether the order is blocked, needs a licensed dealer, or requires extra verification, then point them to the next step instead of leaving them guessing. Good messaging reduces support tickets and lowers the odds of a failed reorder loop.
For implementation details, many WooCommerce teams pair legal review with product tagging and address screening in the same workflow, then test with fake orders to make sure state rules fire where expected. The mechanics are familiar, but the discipline is in keeping the rule set current. RAND's findings on firearm policy also matter here, because some laws, like minimum-age requirements, show evidence of reducing youth firearm suicides, while others mainly add friction, which helps teams prioritize the rules that deserve the most careful handling (RAND gun policy findings). A useful external reference for store owners is Ship Restrict's firearms and ammunition shipping compliance guide for WooCommerce stores, which fits naturally into the same implementation workflow.
Quick Reference Table for State Rules
Use this table as a launch checklist, not as a substitute for the state summaries above. The fastest way to spot risk is to scan for states that require a permit or background check, states with a dealer transfer step, and states with municipal carve-outs that may need a second rule layer.
| State | Min Purchase Age | Magazine Limit | FFL Transfer Required | Background Check | Municipal Exceptions |
|---|---|---|---|---|---|
| Alabama | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Alaska | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Arizona | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Arkansas | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| California | Verify by product class | Verify current law | Often required in regulated transfers | Verify current law | Yes, local overlays can matter |
| Colorado | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Connecticut | Verify by product class | Verify current law | Often required in regulated transfers | Verify current law | Verify local authority |
| Delaware | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Florida | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Georgia | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Hawaii | Verify by product class | Verify current law | Often required in regulated transfers | Verify current law | Verify local authority |
| Idaho | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Illinois | Verify by product class | Verify current law | Often required in regulated transfers | Verify current law | Verify local authority |
| Indiana | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Iowa | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Kansas | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Kentucky | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Louisiana | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Maine | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Maryland | Verify by product class | Verify current law | Often required in regulated transfers | Verify current law | Verify local authority |
| Massachusetts | Verify by product class | Verify current law | Often required in regulated transfers | Verify current law | Verify local authority |
| Michigan | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Minnesota | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Mississippi | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Missouri | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Montana | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Nebraska | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Nevada | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| New Hampshire | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| New Jersey | Verify by product class | Verify current law | Often required in regulated transfers | Verify current law | Verify local authority |
| New Mexico | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| New York | Verify by product class | Verify current law | Often required in regulated transfers | Verify current law | Verify local authority |
| North Carolina | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| North Dakota | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Ohio | Verify by product class | Verify current law | Often required in regulated transfers | Verify current law | Verify local authority |
| Oklahoma | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Oregon | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Pennsylvania | Verify by product class | Verify current law | Often required in regulated transfers | Verify current law | Verify local authority |
| Rhode Island | Verify by product class | Verify current law | Often required in regulated transfers | Verify current law | Verify local authority |
| South Carolina | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| South Dakota | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Tennessee | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Texas | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Utah | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Vermont | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Virginia | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Washington | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Local rules are largely preempted |
| West Virginia | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Wisconsin | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| Wyoming | Verify by product class | Verify current law | Depends on transaction type | Verify current law | Verify local authority |
| District of Columbia | Verify by product class | Verify current law | Often required in regulated transfers | Verify current law | Local rules are significant |
Tracking Legal Updates for Compliance
State firearm rules change often enough that static policies age badly. The safest process is to subscribe to state legislature updates, watch ATF notices, and keep a changelog tied to your checkout rules so you can see when a rule changed and why. Then run test orders after every update so a bad logic branch doesn't sit unnoticed.
Use quarterly audits for routine checks, and use emergency patches when a high-impact rule passes or a court decision changes the shipping path. Keep the review list short, assign one owner, and verify the legal text before publishing changes to production. A store that updates fast and tests methodically will usually outpace a store that only reacts after a canceled shipment.
Glossary of Firearm Law Terms
Federal Firearms License means a dealer license that affects where a firearm can legally move and who can receive it. Preemption means higher-level law limits lower-level local rules. Shall-issue describes a permit process where authorities must issue the permit if the applicant meets the criteria. Permit to purchase means a buyer needs authorization before buying. Restricted person means someone barred from possession or purchase. Secure storage means keeping firearms locked or otherwise protected at home. Municipal carve-out means a city or county is allowed to regulate a narrow area. Large-capacity magazine means a magazine above a state-defined limit. Each term matters because it changes whether a cart should ship, block, or route through a dealer.
If you're building or cleaning up firearm shipping rules in WooCommerce, start by turning your state policy into address-based logic before the next order goes live. Ship Restrict can help you enforce those rules at checkout, keep restricted shipments from slipping through, and give your team a cleaner process for managing state-by-state compliance.
Automate FFL Shipping Compliance
Stop worrying about restricted states. Ship Restrict handles it automatically.

Cody Yurk
Founder and Lead Developer of ShipRestrict, helping e-commerce businesses navigate complex shipping regulations for regulated products. Ecommerce store owner turned developer.
Automate FFL Compliance
- Block restricted states
- No more cancellations
- Set and forget
3-day free trial · Card required