For a non vulgar one, "n'importe quoi" works. It literally means "anything" (more literally "doesn't matter what") but can also be used to mean "nonsense".
In the same way, "n'importe qui", which literally means "anybody" (more literally "doesn't matter who") can be used to mean "someone nobody cares about".
"N'importe quoi" has a verlan version, "nawak", which only has the "nonsense" meaning and not the "anything" one. It's verlan, though, so it's colloquial, although I wouldn't say it's vulgar.
You asked for "bullshit", which is vulgar. In this case, the word "connerie" means the same thing with more or less the same level of vulgarity. Literally, it means "stupidness" (more literally, "cuntness", although it's way less vulgar as how "c*nt" is used in English) and is more generally used to describe words or actions that are nonsensical or stupid.
It's often used in the plural, so "This is bullshit" will correspond to "C'est des conneries".
And finally, you have "bêtise". It also means literally "stupidness" (more litterally "beastness") and is mild enough that it's the version used by children. It's used the same way as "connerie" so it's often in the plural and "This is nonsense" corresponds to "C'est des bêtises".
In a more academic way, the word "absurdité" also means the same thing as "nonsense". It's standard so you don't really have to be careful about when to use it, however, people will generally prefer using more colloquial words in everyday speech. "This is nonsense" would correspond either to "C'est asburde" (This doesn't make sense) or "Ce sont des absurdités" (This is nonsense).