You can Host your static website i.e. HTML/CSS/JS for FREE on GitHub pages
For Dynamic website you can use infinityFree
To host on GitHub pages follow these steps:
Step 1: Create a new GitHub repository
Step 2: name the repository in this format
Username.github.io
Step 3: upload your website files
Step 4 : Add FREE custom Domain
Checkout video guide
You can host your Full stack Website on BLUEHOST
Checkout for reasonable prices