There is one: http://users.skynet.be/mgueury/mozilla/
That tool is based on HTML tidy, which is not a true DTD validator and therefore cannot detect all invalid code.
For example, current versions of HTML Tidy will not detect that the , and elements inside a element occur in the wrong order, because HTML Tidy has not been programmed to detect this problem. HTML Tidy fails to fix some other problems. For example, a element cannot contain both an element and a element, but HTML Tidy is not programmed to detect this and the error will go unnoticed. A element may not contain both and elements, nor may it contain both and elements. HTML Tidy ignores these problems too. A must always contain at least one or element, but this is not enforced by HTML Tidy when the also contains other elements.