The travel agency, which has closed dozens of its sites over the past 18 months, said the move was as a result of changing shopping habits, with almost three-quarters of its UK bookings now coming from its website.
Among the 21 stores set to close are branches in Guildford, Kingston upon Thames and Bury.
Once the earmarked sites are shuttered, Thomas Cook will have 566 stores up and down the UK.
“Today's announcement reflects the wider challenges seen on the high street, with more and more customers choosing to book online,” said chief of tour operating Will Waggott.
“These measures will help us to drive greater efficiencies across Thomas Cook so that we relentlessly focus our resources in those areas that give us the greatest opportunity to make a difference to customers in our core holiday offering.”
Thomas Cook expects that the planned closures will make 102 customer-facing roles redundant, while it is also looking to get rid of another 218 in-store jobs after a review of its workforce.
A consultation process with the affected staff and their union representatives has begun, it added.
Thomas Cook shares were down 2.4% to 28.0p in mid-morning trading on Friday.
Full list of stores to close:
Aberdeen Langstane (Aberdeen), Accrington (Lancashire), Bury Haymarket (Lancashire), Chesham (Buckinghamshire), Colchester High St (Essex), Cumbernauld (North Lanarkshire), Glenrothes (Fife), Guildford (Surrey), Gosforth (Newcastle Upon Tyne), Kingston upon Thames (Surrey), Kirkintilloch Cowgate (Glasgow), Launceston (Cornwall), Llandudno (North Wales), Market Harborough (Leicestershire), North Shields (Tyne & Wear), Peterlee (County Durham), Shipley (West Yorkshire), Stevenage (Hertfordshire), Stratford-upon-Avon (Warwickshire), Sunderland Sainsburys (Tyne & Wear) and West Bromwich Sandwell Centre (West Midlands).