The new charge is $45 if paid at the gate, and $30 if paid in advance, and begins Aug. 1. Spirit said on Tuesday that it reduced its lowest fares by $40 on average, so most customers won't really pay more to fly.
Spirit also charges to check luggage.
Spirit CEO Ben Baldanza said having fewer carry-on bags will help empty the plane faster. He said the idea is to get customers to pay for individual things they want, while keeping the base fare low.
"The beauty of it is they will do what they think is best for them and will now have the choice," he said.
Spirit is based in Miramar, Fla., and most of its routes run through Fort Lauderdale to Latin America.
Even though it's a minor player, bigger airlines are likely to watch to see whether customers are willing to pay for carry-ons. None of the major carriers made any immediate changes to their fees on Tuesday morning.
Fees for checking bags on the big U.S. carriers got started in 2008. At first, many travelers thought they wouldn't last. But now all the big airlines except Southwest and JetBlue charge to check a bag on domestic flights.