It is very normal than when using html2haml you run haml-lint afterwards and it fails. And this requires extra effort that makes the conversion much more complex. One of the linter I realized that normally fails after the conversion is ClassesBeforeIds. And in this case I would say that this is quite easy to solve, because we could always use the haml-lint default (having classes and then ids). Would be even nicer if we inspect haml-lint configuration to use the one that is prefer, but for me is enough with the default. 