↩ SERVIT

Wir sind spezialisiert auf die Programmiersprachen PHP (Web) und .net C# (Windows Applikationen).

DNS Checker

Published: Juli 3, 2026 Updated: Juli 3, 2026 View original page
Praktische Online-Tools für Entwickler: JSON & XML formatiert anzeigen, REST-APIs testen, Daten prüfen und alles direkt im Browser nutzen – ohne Speicherung.

DNS Checker

DNS-Einträge einer Domain live prüfen: A, MX, TXT, CNAME & Co. gegen Google DNS oder Cloudflare, plus SPF-, DMARC- und DKIM-Check. Kostenlos, ohne Login.
.sd-dns{ --t-primary:#008fbf;--t-bg:transparent;--t-fg:#0f172a;--t-muted:#4b5563; --t-border:#e5e7eb;--t-surface:#ffffff;--t-surface-2:#f0f2f7; --t-code:#1e293b;--t-code-border:#e5e7eb; --t-error-bg:#fef2f2;--t-error:#dc2626; --t-ok:#059669;--t-ok-bg:#ecfdf5;--t-warn:#d97706;--t-warn-bg:#fffbeb; --t-radius:12px;--t-pad:16px; font-family:inherit;color:var(--t-fg);background:var(--t-bg); border:none;border-radius:0;padding:0;width:100%;max-width:100%;margin:0;box-shadow:none; } .sd-dns *,.sd-dns *::before,.sd-dns *::after{box-sizing:border-box;} .sd-dns-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;} .sd-dns-controls{margin-bottom:16px;gap:8px;} .sd-dns-spacer{flex:1;} .sd-dns button.sd-dns-btn{ padding:7px 16px !important;border:1px solid var(--t-border) !important;border-radius:8px !important; background:var(--t-surface) !important;color:var(--t-fg) !important;cursor:pointer; font-size:13px !important;font-weight:500 !important;line-height:1.4 !important; box-shadow:none !important;text-transform:none !important;letter-spacing:0 !important; transition:all .15s ease;display:inline-flex;align-items:center;gap:4px; margin:0 !important;text-decoration:none !important; } .sd-dns button.sd-dns-btn:hover{ border-color:var(--t-primary) !important;color:var(--t-primary) !important;background:rgba(0,143,191,.04) !important; } .sd-dns button.sd-dns-btn:active{transform:translateY(1px);} .sd-dns button.sd-dns-btn--primary{ background:var(--t-primary) !important;border-color:var(--t-primary) !important;color:#fff !important; } .sd-dns button.sd-dns-btn--primary:hover{ background:#2fbfef !important;border-color:#2fbfef !important;color:#fff !important; } .sd-dns button.sd-dns-btn--ghost{ background:transparent !important;border-color:transparent !important;color:var(--t-muted) !important; } .sd-dns button.sd-dns-btn--ghost:hover{ background:rgba(0,143,191,.04) !important;color:var(--t-primary) !important;border-color:transparent !important; } /* Resolver toggle */ .sd-dns-resolver{display:flex;gap:4px;background:var(--t-surface-2);padding:3px;border-radius:6px;border:1px solid var(--t-border);} .sd-dns button.sd-dns-resolver-btn{ background:transparent !important;border:none !important;color:var(--t-muted) !important;font-size:12.5px !important;font-weight:600 !important; padding:5px 12px !important;border-radius:5px !important;cursor:pointer;transition:.15s; } .sd-dns button.sd-dns-resolver-btn.active{background:var(--t-primary) !important;color:#fff !important;} .sd-dns button.sd-dns-resolver-btn:not(.active):hover{color:var(--t-fg) !important;} /* Domain input */ .sd-dns input.sd-dns-input{ flex:1;min-width:200px;padding:7px 14px !important; border:1px solid var(--t-border) !important;border-radius:8px !important; background:var(--t-surface) !important;color:var(--t-fg) !important; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:13px;line-height:1.4;box-shadow:none !important; transition:border-color .2s ease; } .sd-dns input.sd-dns-input:focus{border-color:var(--t-primary) !important;outline:none;} /* Record type chips */ .sd-dns-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px;} .sd-dns button.sd-dns-chip{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:12px !important;font-weight:600 !important;padding:5px 11px !important; border:1px solid var(--t-border) !important;border-radius:16px !important; background:var(--t-surface) !important;color:var(--t-muted) !important; cursor:pointer;transition:.13s;margin:0 !important;text-decoration:none !important; box-shadow:none !important;line-height:1.4 !important; } .sd-dns button.sd-dns-chip:hover{border-color:var(--t-primary) !important;color:var(--t-primary) !important;} /* Mail-Doctor section */ .sd-dns-maildoc{ display:flex;align-items:center;gap:8px;flex-wrap:wrap; padding-top:14px;margin-bottom:16px;border-top:1px dashed var(--t-border); } .sd-dns-maildoc-label{font-size:12px;font-weight:600;color:var(--t-muted);text-transform:uppercase;letter-spacing:.04em;margin-right:4px;} .sd-dns input.sd-dns-sel{ width:110px;padding:5px 9px !important; border:1px solid var(--t-border) !important;border-radius:6px !important; background:var(--t-surface) !important;color:var(--t-fg) !important; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:12.5px;box-shadow:none !important; } .sd-dns input.sd-dns-sel:focus{border-color:var(--t-primary) !important;outline:none;} /* Results */ .sd-dns-status{ margin:16px 0 12px;font-size:13px;color:var(--t-muted); display:flex;align-items:center;gap:10px;flex-wrap:wrap; } .sd-dns-status .q{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--t-fg);font-weight:600;} .sd-dns-status .timing{color:var(--t-muted);font-size:12px;} .sd-dns-status .rcode{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-weight:700;padding:2px 8px;border-radius:5px;font-size:11.5px; } .sd-dns .rcode.ok{color:var(--t-ok);background:var(--t-ok-bg);} .sd-dns .rcode.warn{color:var(--t-warn);background:var(--t-warn-bg);} .sd-dns .rcode.err{color:var(--t-error);background:var(--t-error-bg);} .sd-dns-group{margin-bottom:16px;} .sd-dns-group-head{display:flex;align-items:center;gap:10px;margin-bottom:8px;} .sd-dns-group-head .type-badge{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-weight:700;font-size:12px;background:var(--t-primary);color:#fff; padding:3px 9px;border-radius:6px;min-width:46px;text-align:center; } .sd-dns-group-head .type-name{font-size:12.5px;color:var(--t-muted);} .sd-dns-group-head .count{margin-left:auto;font-size:12px;color:var(--t-muted);} .sd-dns-record{ display:flex;align-items:flex-start;gap:12px; background:var(--t-surface-2);border:1px solid var(--t-code-border); border-radius:var(--t-radius);padding:12px 14px;margin-bottom:6px; } .sd-dns-record .data{ flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:13px;word-break:break-all;line-height:1.55;min-width:0;color:var(--t-code); } .sd-dns-record .meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;} .sd-dns-record .ttl{ font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px;color:var(--t-muted);background:var(--t-surface); padding:2px 7px;border-radius:5px;white-space:nowrap;border:1px solid var(--t-code-border); } .sd-dns-record .copy{ background:transparent !important;border:none !important;color:var(--t-muted) !important; cursor:pointer;font-size:11.5px !important;font-weight:600 !important;padding:2px 4px !important; } .sd-dns-record .copy:hover{color:var(--t-primary) !important;} .sd-dns .tag{font-weight:700;padding:1px 5px;border-radius:4px;font-size:12px;} .sd-dns .tag.spf{background:#eff6ff;color:#1d4ed8;} .sd-dns .tag.dmarc{background:#f0fdfa;color:#0d9488;} .sd-dns .tag.dkim{background:#faf5ff;color:#7e22ce;} .sd-dns .tag.verify{background:var(--t-surface-2);color:var(--t-muted);} .sd-dns-empty{ color:var(--t-muted);font-style:italic;font-size:13px;padding:var(--t-pad); background:var(--t-surface-2);border:1px solid var(--t-code-border);border-radius:var(--t-radius); text-align:center; } .sd-dns-msg{ background:var(--t-surface-2);border:1px dashed var(--t-border);border-radius:var(--t-radius); padding:var(--t-pad);text-align:center;color:var(--t-muted);font-size:13px; } .sd-dns-msg.error{border-color:rgba(220,38,38,.2);background:var(--t-error-bg);color:var(--t-error);} .sd-dns-msg .hint{display:block;margin-top:6px;font-size:12.5px;color:var(--t-muted);} .sd-dns-spinner{ width:14px;height:14px;border:2px solid var(--t-border);border-top-color:var(--t-primary); border-radius:50%;display:inline-block;animation:sd-dns-spin .7s linear infinite;vertical-align:-2px; } @keyframes sd-dns-spin{to{transform:rotate(360deg);}} @media(prefers-reduced-motion:reduce){.sd-dns-spinner{animation:none;}} .sd-dns-toast{ position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px); background:var(--t-fg);color:#fff;padding:10px 18px;border-radius:8px; font-size:13px;font-weight:600;opacity:0;pointer-events:none;transition:.25s;z-index:99999; } .sd-dns-toast.show{opacity:1;transform:translateX(-50%) translateY(0);} @media(max-width:768px){ .sd-dns-controls{flex-direction:column;align-items:stretch;} .sd-dns input.sd-dns-input{min-width:100%;} .sd-dns button.sd-dns-btn{width:100%;justify-content:center;} .sd-dns-record{flex-wrap:wrap;} }
Mail-Doctor
(function(){ "use strict"; var root = document.getElementById("sd-dns"); if(!root || root.dataset.init) return; root.dataset.init = "1"; var RESOLVERS = { google: { url:"https://dns.google/resolve", header:null }, cloudflare: { url:"https://cloudflare-dns.com/dns-query", header:"application/dns-json" } }; var TYPE_NAMES = {1:"A",2:"NS",5:"CNAME",6:"SOA",12:"PTR",15:"MX",16:"TXT",28:"AAAA",33:"SRV",257:"CAA"}; var TYPE_DESC = {A:"IPv4-Adresse",AAAA:"IPv6-Adresse",CNAME:"Alias / Verweis",MX:"Mailserver",TXT:"Text (SPF, DMARC, Verifizierung …)",NS:"Nameserver",SOA:"Zonen-Autorität",CAA:"Zertifikats-Autorisierung",SRV:"Service-Record",PTR:"Reverse-Lookup"}; var ALL_TYPES = ["A","AAAA","CNAME","MX","TXT","NS","SOA","CAA"]; var RCODE = {0:"NOERROR",1:"FORMERR",2:"SERVFAIL",3:"NXDOMAIN",5:"REFUSED"}; var state = { resolver:"google" }; var q = function(sel){ return root.querySelector(sel); }; var domainInput = q("#sddns-domain"); var results = q("#sddns-results"); q("#sddns-resolver").addEventListener("click", function(e){ var b = e.target.closest("button"); if(!b) return; state.resolver = b.dataset.resolver; Array.prototype.forEach.call(this.children, function(c){ c.classList.remove("active"); }); b.classList.add("active"); }); function cleanDomain(raw){ return (raw||"").trim().replace(/^https?:\/\//i,"").replace(/\/.*$/,"").replace(/\.$/,"").toLowerCase(); } function unquoteTxt(data){ var parts = data.match(/"([^"]*)"/g); if(parts) return parts.map(function(p){ return p.slice(1,-1); }).join(""); return data; } function esc(s){ return s.replace(/[&"]/g,function(c){ return {"&":"&","":">",'"':"""}[c]; }); } function highlightTxt(txt){ var safe = esc(txt); if(/^v=spf1/i.test(txt)) return 'SPF '+safe; if(/^v=DMARC1/i.test(txt)) return 'DMARC '+safe; if(/^v=DKIM1/i.test(txt)||/k=rsa/i.test(txt)||/p=[A-Za-z0-9+/]{20}/.test(txt)) return 'DKIM '+safe; if(/verification|verify|site-verification|=[A-Za-z0-9]{16,}$/i.test(txt)) return 'VERIFY '+safe; return safe; } function formatData(type,data){ return type==="TXT" ? highlightTxt(unquoteTxt(data)) : esc(data); } function fmtTTL(s){ if(s==null) return ""; if(s>=86400) return Math.round(s/86400)+"d"; if(s>=3600) return Math.round(s/3600)+"h"; if(s>=60) return Math.round(s/60)+"m"; return s+"s"; } function query(name,type){ var r = RESOLVERS[state.resolver]; var opts = r.header ? { headers:{ "Accept":r.header } } : {}; var url = r.url+"?name="+encodeURIComponent(name)+"&type="+encodeURIComponent(type); return fetch(url,opts).then(function(res){ if(!res.ok) throw new Error("HTTP "+res.status); return res.json(); }); } function recordRow(typeName,rec){ var raw = typeName==="TXT" ? unquoteTxt(rec.data) : rec.data; var div = document.createElement("div"); div.className = "sd-dns-record"; div.innerHTML = '
'+formatData(typeName,rec.data)+'
'+ '
'+ (rec.TTL!=null ? 'TTL '+fmtTTL(rec.TTL)+'' : '')+ ''+ '
'; div.querySelector(".copy").addEventListener("click", function(){ copy(raw); }); return div; } function renderGroup(typeName,records){ var g = document.createElement("div"); g.className = "sd-dns-group"; var head = document.createElement("div"); head.className = "sd-dns-group-head"; head.innerHTML = ''+typeName+''+ ''+(TYPE_DESC[typeName]||"")+''+ ''+records.length+(records.length===1?" Eintrag":" Einträge")+''; g.appendChild(head); records.forEach(function(rec){ g.appendChild(recordRow(typeName,rec)); }); return g; } function statusLine(name,typeLabel,res,ms){ var code = RCODE[res.Status]||("RCODE "+res.Status); var cls = res.Status===0?"ok":(res.Status===3?"warn":"err"); var el = document.createElement("div"); el.className = "sd-dns-status"; el.innerHTML = ''+esc(name)+''+ ''+code+''+ ''+esc(typeLabel)+''+ ''+Math.round(ms)+' ms · '+(state.resolver==="google"?"Google DNS":"Cloudflare")+''; return el; } function showLoading(label){ results.innerHTML = '
  Frage '+esc(label)+' ab …
'; } function showError(msg){ results.innerHTML = '
'+esc(msg)+'Prüf die Domain oder wechsle den Resolver.
'; } function lookupType(type){ var name = cleanDomain(domainInput.value); if(!name){ domainInput.focus(); return; } showLoading(name+" · "+type); var t0 = performance.now(); query(name,type).then(function(res){ var ms = performance.now()-t0; results.innerHTML = ""; results.appendChild(statusLine(name,type,res,ms)); var answers = (res.Answer||[]).filter(function(a){ return TYPE_NAMES[a.type]===type; }); if(!answers.length && res.Authority) answers = res.Authority.filter(function(a){ return TYPE_NAMES[a.type]===type; }); if(answers.length){ results.appendChild(renderGroup(type,answers)); } else{ var e = document.createElement("div"); e.className="sd-dns-empty"; e.textContent = "Keine "+type+"-Einträge gefunden."; results.appendChild(e); } }).catch(function(err){ showError("Abfrage fehlgeschlagen: "+err.message); }); } function lookupAll(){ var name = cleanDomain(domainInput.value); if(!name){ domainInput.focus(); return; } showLoading(name+" · alle gängigen Typen"); var t0 = performance.now(); Promise.all(ALL_TYPES.map(function(t){ return query(name,t).then(function(r){ return {type:t,res:r}; }).catch(function(){ return {type:t,res:null}; }); })).then(function(all){ var ms = performance.now()-t0; results.innerHTML = ""; var anyErr = all.every(function(x){ return !x.res; }); var head = document.createElement("div"); head.className="sd-dns-status"; head.innerHTML = ''+esc(name)+''+ ''+(anyErr?"FEHLER":"OK")+''+ 'alle Typen'+ ''+Math.round(ms)+' ms · '+(state.resolver==="google"?"Google DNS":"Cloudflare")+''; results.appendChild(head); var found = 0; all.forEach(function(x){ if(!x.res) return; var recs = (x.res.Answer||[]).filter(function(a){ return TYPE_NAMES[a.type]===x.type; }); if(recs.length){ results.appendChild(renderGroup(x.type,recs)); found++; } }); if(!found){ var e = document.createElement("div"); e.className="sd-dns-empty"; e.textContent = anyErr ? "Keine Antwort vom Resolver — Domain prüfen oder Resolver wechseln." : "Keine Einträge gefunden. Existiert die Domain?"; results.appendChild(e); } }); } function mailLookup(kind){ var name = cleanDomain(domainInput.value); if(!name){ domainInput.focus(); return; } var target = name, label = ""; if(kind==="spf"){ target = name; label = "SPF (TXT @ "+name+")"; } if(kind==="dmarc"){ target = "_dmarc."+name; label = "DMARC (TXT @ _dmarc."+name+")"; } if(kind==="dkim"){ var sel = ((q("#sddns-selector").value||"default").trim()); target = sel+"._domainkey."+name; label = "DKIM (TXT @ "+target+")"; } showLoading(label); var t0 = performance.now(); query(target,"TXT").then(function(res){ var ms = performance.now()-t0; results.innerHTML = ""; results.appendChild(statusLine(target,label,res,ms)); var recs = (res.Answer||[]).filter(function(a){ return TYPE_NAMES[a.type]==="TXT"; }); if(recs.length){ results.appendChild(renderGroup("TXT",recs)); } else{ var e = document.createElement("div"); e.className="sd-dns-empty"; e.textContent = kind==="dkim" ? "Kein DKIM-Key unter diesem Selektor. Häufige Selektoren: default, google, k1, s1, selector1, dkim, mail." : "Kein "+kind.toUpperCase()+"-Record gefunden."; results.appendChild(e); } }).catch(function(err){ showError("Abfrage fehlgeschlagen: "+err.message); }); } var toast = q("#sddns-toast"), toastTimer; function copy(text){ (navigator.clipboard ? navigator.clipboard.writeText(text) : Promise.reject()) .then(function(){ showToast("Kopiert"); }) .catch(function(){ var ta = document.createElement("textarea"); ta.value = text; document.body.appendChild(ta); ta.select(); try{ document.execCommand("copy"); showToast("Kopiert"); }catch(e){} document.body.removeChild(ta); }); } function showToast(msg){ toast.textContent = msg; toast.classList.add("show"); clearTimeout(toastTimer); toastTimer = setTimeout(function(){ toast.classList.remove("show"); }, 1400); } q("#sddns-chips").addEventListener("click", function(e){ var b=e.target.closest(".sd-dns-chip"); if(b) lookupType(b.dataset.type); }); q("#sddns-all").addEventListener("click", lookupAll); q("#sddns-maildoc").addEventListener("click", function(e){ var b=e.target.closest("button[data-mail]"); if(b) mailLookup(b.dataset.mail); }); domainInput.addEventListener("keydown", function(e){ if(e.key==="Enter") lookupAll(); }); })();

DNS Checker

Mit dem DNS Checker fragst du die DNS-Einträge einer beliebigen Domain in Echtzeit ab und bekommst sie übersichtlich nach Typ gruppiert aufgelistet — mit TTL und Kopier-Funktion pro Eintrag. Die Abfrage läuft direkt in deinem Browser über DNS-over-HTTPS gegen Google DNS oder Cloudflare (oben rechts umschaltbar). Kein Backend, keine Speicherung, keine Anmeldung.

Domain oder Hostname eingeben

Gib eine Domain ein (servit.dev) und klick auf „Alle Einträge“, um die gängigen Record-Typen auf einen Schlag zu sehen: A, AAAA, CNAME, MX, TXT, NS, SOA und CAA. Einzelne Typen prüfst du über die Buttons darunter. Du kannst auch vollständige Hostnamen eingeben — etwa www.servit.dev oder mail.servit.dev —, um gezielt einen CNAME oder Subdomain-Einträge zu testen. Das ist sogar notwendig, denn ein CNAME liegt
technisch nie auf der Hauptdomain, sondern immer auf einer Subdomain.

Mail-Doctor für die Zustellbarkeit

Der integrierte Mail-Check prüft mit einem Klick die drei Einträge, an denen die meiste Mail-Zustellung hängt: SPF (welche Server für die Domain senden dürfen), DMARC (unter _dmarc.deine-domain) und DKIM (unter dem angegebenen Selektor, z. B. default).
Erkannte SPF-, DMARC- und DKIM-Einträge werden farblich markiert, damit du sie im TXT-Wust sofort findest.

Was der Checker kann — und was DNS grundsätzlich nicht

„Alle Einträge“ deckt alles ab, was ohne Zusatzwissen an der Domain abfragbar ist. Eine vollständige Auflistung sämtlicher existierender Records ist technisch aber nicht möglich: DNS lässt sich nicht auslesen wie ein Verzeichnis. Einträge, die an einem bestimmten Label hängen (etwa ein DKIM-Selektor oder ein SRV-Service), findet man nur, wenn man den Namen kennt — deshalb der separate Selektor beim DKIM-Check.