The deadly violence in Charlottesville over the weekend between Nazis and anti-fascist groups has a lot of people yelling about freedom of speech. People are saying they can say whatever they want, whenever they want. While Americans do enjoy a certain level of free speech, there are restrictions on what you can and can't say, and when and where you say it.

From uscourts.gov, freedom of speech allows you to, among other things:

1. Not to speak - This case specifically gives you the right not to salute the flag or say the Pledge of Allegiance. I would imagine that NFL players could point to this to defend not standing for the National Anthem.
West Virginia Board of Education v. Barnette, 319 U.S. 624 (1943).

2. You can use "certain offensive words and phrases to convey political messages." - You might not like what and how people get their political point across, but they do have specific protections about their message.
Cohen v. California, 403 U.S. 15 (1971).

Freedom of speech does NOT allow you to:

1. Say something that would bring harm to other people - This is the famous 'don't shout "fire" in a crowded theater' scenario. If you're wandering around saying that people should hurt other people, you can't do that.
Schenck v. United States, 249 U.S. 47 (1919).

You do have the right to freedom of speech, but that doesn't mean you can say whatever you want, whenever you want.