One of the funny/infuriating/fascinating things about language is that one word can be used in various ways and can be spelled in various ways depending on the context.
This is the case for “on demand”, or should we say “on-demand”. Truth it, both are right!
When “on demand” is not hyphenated
“On demand” is not hyphenated when used to mean “when demanded” or “upon demand.” An example is “The dog is pretty good at sitting on demand.”
A good rule of thumb for whether “on demand” uses a hyphen is if you can substitute “command” in place of “demand.”
When “on-demand” is hyphenated
Conversely, the phrase is hyphenated as “on-demand” when used as an adjective to describe a thing that allows you to get it when you want or need it.
For example, “Netflix is an on-demand streaming service” or “EditorNinja provides unlimited on-demand copy editing and proofreading services for am affordable monthly fee.”
The tech world likes to talk about things being “on-demand” and in those cases it should be hyphenated.
So, is “on demand” hyphenated?
The phrase is hyphenated when an adjective referring to something happening, and is not hyphenated when it means “when commanded” or “upon demand”.