A preprocessor takes an arbitrary source file and converts it into something that the browser understands.
Preprocessors implements features that browser doesn't support natively such as:
In-browser preprocessor editing can be done with the following browser features: