There are quite a few free domain extensions available. However the popular extensions such as .co.uk, .com, .net, .org, etc are all subscription based. The only way I know how to get one of those for free is to sign up with hosting on certain providers who will cover the domain registration fee for you with their hosting plan.
But, if you just need the domain and not the hosting then I suggest just paying the few dollars it costs for the one that you prefer and moving on. Otherwise you won't be getting one at all, lol. Popular domains just cant be found for free unfortunately.