EOS accounts are paid because creating an account requires some EOS to cover transaction fees (let's put it this way for simplicity). They call it somehow euphemistically "You need a friend who can lend you some EOS". However, you can either be your own friend and get some EOS at an exchange or you can find a service that can be your friend for some fee.
If you wanna be your own friend, you can use e.g. signupeoseos, an account creating smart contract. You have to send them about 2 EOS aka 10 bucks (a portion of that will go staked at your newly made account) and do some mess around memo note. Too expensive and too messy for me.
If you need a paid friend, you can find something like eos-account-creator service. However, at the moment, they charge like 6-7 bucks. In my opinion, it's still a bit too expensive for creating a crypto-account.
I tried several "get a free EOS account" promos, but all of them seemed long dead.
Finally, I found Tokenpoket's offer to be my EOS friend for only 2 dollars via Paypal!
You go to Tokenpoket.pro website and at the top of the page you see a Create Account menu item:
It has two options: Online Creation and Activation Code.
I didn't try Activation Code but I suppose upon payment of the same 2 bucks you will be emailed a code that must be entered into somewhere in your Tokenpoket wallet. Then the key pair will be generated directly on the device, which is good for account security. Also, you can email the code to someone as a gift. Again, it's only my suggestion, I didn't try activation code myself.
Instead, I chose Online Creation and let Tokenpoket manage everything for me.
You click on Online Creation, then select the blockchain you want an account for (EOS in my case), choose a name for your account (or click Random to get a random name) and the payment service (Paypal in my case):
Then you click Continue and Tokenpoket generates for you an EOS account key pair:
You can click Change to change the key pair, but I think Tokenpoket can learn your private key if it wants to, no matter if you re-generate it or not. Maybe it's possible to paste there own keys, but I didn't experiment with it. Then you should back up the private key and tick the I have backed up ... notice. The PayPal button becomes active, you pay 2 bucks -- and voila, you have a brand new EOS account!
Pay with Debit or Credit Card option is somehow misleading because it will ask you your card details and then will offer you to create the same Paypal account.
With your new account, you don't need to use Tokenpoket wallet itself if you don't want to. I believe any EOS-compatible wallet will do. E.g. I successfully imported my account into Math wallet with Tokenpoket's private key.
Here's how my new account looks like (you can tip me there :)))
UPD. You might want to check out this article about a "FREE EOS account". But the problem is that as far as I can understand, Wombat doesn't give you your account's private key as long as you don't make "a one-time purchase", roughly the same 2 bucks... Well, anyway, dyoring Wombat is out of scope here.
UPD2. It seems possible to get free private key with Wombat’s Crome plug-in.
Just in case you want to install mobile Tokenpoket via my affiliate link: