Baseball caps have a tendency of developing a bad odor over time, primarily due to sweat absorption. Odors can be difficult to remove once they have time to set, so prevention is the best way to keep a cap in ideal condition. The proper care will keep a hat nearly odor-free for many years to come.
Line the inside of your baseball cap with a hat liner. These microfiber liners absorb perspiration, which in turn drastically reduces the amount of perspiration in the cap fibers. Hat liners are available at most sporting goods and hat specialty stores. Replace the liner every one to 10 weeks, depending on how much you perspire in it. Once the liner begins to get a stale or sweaty smell, it should be replaced.
Wash your hair daily to keep it free of dirt and smelling clean. Not only will this prevent bad odors, but the cap may even absorb the good smell of shampoo.
Wipe the inside of the cap with a damp cloth immediately after excessive perspiration occurs. A simple wipe down -- when done early enough -- may be enough to remove perspiration from the fibers of the hat.