Answer: the main difference is that bacteria are free-living cells that can live inside or outside a body, while viruses are a non-living collection of molecules that need a host to survive.
Explanation: Viruses are tinier: the largest of them are smaller than the smallest bacteria. All they have is a protein coat and a core of genetic material, either RNA or DNA. Unlike bacteria, viruses can't survive without a host. They can only reproduce by attaching themselves to cells.