There is no such thing as free. Believe me, you wouldn't want to get a free web hosting. They always have a 'catch', even if they say there's none. They will display ads on your site. They might be down every now and then or they would be stealing some of your files, information, and what not. You wouldn't want to risk it.
There are cheap and affordable web hosting out there. For less than $8 a month, you can get one.