Lints German property-ad HTML for the energy-certificate fields GEG Section 87 demands, and flags an efficiency class that contradicts the kWh value. Runs entirely in your browser — nothing is uploaded.
Full version: scans every listing template in the workspace or the CI feed in one run and writes a dated audit record you keep as proof of what each ad said on the day it went live.
$29 once · one licence key per person or team seat · 7-day full refund. A Bedarfsausweis with an on-site visit runs about €300–€500 in 2026, and the Energieberater never opens your template.
Same engine as the VS Code extension, byte for byte.
This page is the working piece. The full pack has everything below.
13 rules over German property-ad HTML: the five mandatory Section 87 GModG fields, the ten-year certificate limit, and the Anlage 10 class band that has to match the kWh value. The bundled b
A Bedarfsausweis drawn up by an Energieberater with an on-site visit costs about 300 to 500 euro in 2026, while a missing or wrong mandatory field in the ad is an Ordnungswidrigkeit fined up to 10,000 euro per ad under Section 108
Buy the full version — $29It reads a German property-ad template and checks the five fields Section 87 GModG makes mandatory: certificate type, Endenergie value, heating energy source, Baujahr and Energieeffizienzklasse. It then compares the class letter against the kWh value using the Anlage 10 bands, flags a certificate older than ten years, a missing unit, and template tokens left unrendered.
Web developers and agencies who ship listing templates for German estate agents, for Makler CMS installations and for portal feeds. If you maintain the Twig, Blade or Liquid partial that renders the Energiedaten block of an expose, this linter runs over that file and names the line that breaks Section 87.
Neither one opens your template. A chatbot sees the sentence you paste, not the partial your CMS renders per listing, and it does not hold Anlage 10, so it will happily agree that 182 kWh per square metre and year is class C. The band table says F. The linter reads the file and applies the table.
Free is complete for one ad: open the template, run the lint, get every Section 87 defect with its line number and clause, in the editor or on the web page. The licence key adds scope and ownership: one run over every template in the workspace or the CI feed, and a dated audit record you keep.
A Bedarfsausweis with an on-site visit runs about 300 to 500 euro in 2026, and the Energieberater who writes it never opens your template. A missing or contradictory mandatory field in the published ad is an Ordnungswidrigkeit that can be fined up to 10,000 euro per ad under Section 108 GModG.
One question, answered by the person who built it. Your email only if you want the answer sent.