Dev Depot: Combing, and Tidying Css Code

Stephen Yagielowicz

If you’ve spent any time developing in the trenches and making extensive changes to CSS coding on the fly, you know how quickly style sheets can get out of hand; becoming an unreadable jumble that hinders coding and consumes time.

Calling itself “the greatest tool for sorting CSS properties in a specific order,” CSScomb ( allows users to “comb” through their CSS coding, sorting and setting the order of CSS properties in new and existing style sheets into the order that the user is accustomed to.

According to its publishers, the algorithm of CSScomb “simulates web-technologist’s actions upon working with CSS code to the limit.”

CSScomb parses all CSS contained within the <style> tag and style=”...” attribute, and is compatible with both single and multiline CSS; with the ability to separate groups of empty strings and CSS properties for each group, without changing the formatting of the style sheets, unless desired.

Available in an online version as well as a plugin for popular code editors such as Chocolat, Coda, Coda 2, Espresso 2, IntelliJIDEA/WebStorm/PyCharm, Notepad++, Sublime Text 2, Textmate and Vim, with packages planned for other code editing tools, CSScomb provides full support for CSS2, CSS2.1, CSS3 and beyond, with features that are ready for the next generation of advanced CSS coding.

According to its publishers, the algorithm of CSScomb “simulates web-technologist’s actions upon working with CSS code to the limit.”

“Usually to reorder code you move lines over each other, considering comments in the code, multiline records of property values, hacks and everything that could be found in the real file,” a spokesperson explains, adding that CSScomb reproduces these actions for users. “This means that the parser ‘thinks’ as a person editing the text, not as a blind robot parsing CSS.”

CSScomb sorts CSS properties within the selectors based on user specified settings, carefully treating the initial formatting of style sheets, and sorting commented properties as if they were not commented. The tool moves unknown properties down in the order in which they are met within the selector, with specifying the attribute sort order made easy; since settings on the web interface are defined by a simple list providing one line for each property, in the user’s required order. CSS properties may even be divided into groups by adding an empty line, which will not be impacted as a result of formatting.

CSScomb also parses @media ... {...} media queries and other constructors using @, such as the @2x high resolution image indicator. The tool will move expressions to the end of their properties as well, in the order they are met within the selector’s framework after parsing them, just to keep everything on track.

One- and two-dimensional JSON arrays can be used for adjusting plugin parameters, with the properties divided into groups separated by an empty line in the example of two-dimensional arrays — but you may need to do your homework first to make the best of it.

CSScomb is a useful tool that may find a home in any coder’s collection. Its publisher is also seeking some support in the form of new code editor plugins and improvements to the product’s algorithm, if you have any talent in those areas. Interested parties can demo the free online version ( to see if CSScomb will work for you.