wallpaper.dog favicon

wallpaper.dog

Category: Media Sharing, Software Downloads

Scanned: Jul 27, 2026, 01:22 AM UTC · First seen: Jul 27, 2026 · Threat Engines: 0 / 91 · Times Scanned: 1
96 / 100 Trust Score Based on scan findings at the time of analysis
No Threats Found
0 - High Risk50 - Moderate100 - No Threats
Not scanned has not been scanned yet. Hit Scan Now to check it.

Scans can take up to 5 minutes to complete. Please keep this tab open - we'll redirect you to the report when it's ready.

Failed
Scan unavailable
Scan failed
Screenshot of wallpaper.dog Captured Jul 27, 2026
https://wallpaper.dog
Screenshot of wallpaper.dog
9 years 6 months
Moderately Popular - #464,736 Tranco rank (100K-1M monthly visitors)
Not listed (91 checked)
✓ Valid (TLS)
Cloudflare, Inc.
Toronto, Canada
cloudflare
Unknown
104.21.62.211
Domain & WHOIS Information
Registrar NameCheap, Inc.
Registered January 22, 2017
Expires January 22, 2027
Name Servers edna.ns.cloudflare.com
DNSSEC Unsigned
Hosting Cloudflare, Inc.
Reputation & Threat Check 91 security engines checked
File Scan Summary Powered by Quttera Engine
60 files scanned
No threats
60
Low Risk
0
Medium Risk
0
High Risk
0
No threats Low Risk Medium Risk High Risk
wallpaper.dog/cute-black 173.0 KB No threats
wallpaper.dog/best-gaming-pc-4k-wallpapers 160.2 KB No threats
wallpaper.dog/amazing-phone-wallpapers 256.7 KB No threats
wallpaper.dog/simple-abstract-wallpapers 238.6 KB No threats
wallpaper.dog/abstract-weed-wallpapers 191.1 KB No threats
wallpaper.dog/gorgeous-3d-wallpapers 177.9 KB No threats
wallpaper.dog/gaming-artwork-wallpapers 228.0 KB No threats
wallpaper.dog/marshmello 176.4 KB No threats
wallpaper.dog/boys 170.2 KB No threats
wallpaper.dog/roblox 164.7 KB No threats
Show 50 more...
External Links & Domains
5948
External Links
All Clean
1
Iframes
Flagged
20
Referenced Domains
1 Flagged
1
Flagged Resources
Detected
c.opts.failFlagged: Generic Suspicious Object
http://wallpaper.dog/apple-touch-icon.pngNot flagged
http://wallpaper.dog/baby-sajaNot flagged
http://wallpaper.dog/category/3dNot flagged
http://wallpaper.dog/category/abstractNot flagged
http://wallpaper.dog/category/animalsNot flagged
http://wallpaper.dog/category/animeNot flagged
http://wallpaper.dog/category/artNot flagged
http://wallpaper.dog/category/carsNot flagged
http://wallpaper.dog/category/cityNot flagged
http://wallpaper.dog/category/darkNot flagged
http://wallpaper.dog/category/fantasyNot flagged
http://wallpaper.dog/category/flowersNot flagged
http://wallpaper.dog/category/foodNot flagged
http://wallpaper.dog/category/gamesNot flagged
http://wallpaper.dog/category/holidaysNot flagged
Show 485 more...
Showing first 500 of 5948 entries.
c.opts.failFlagged: Generic Suspicious Object
a.pub.networkNot flagged
api.btloader.comNot flagged
b.pub.networkNot flagged
btloader.comNot flagged
c.amazon-adsystem.comNot flagged
c.pub.networkNot flagged
c.statcounter.comNot flagged
cmp.quantcast.comNot flagged
code.jquery.comNot flagged
confiant-integrations.global.ssl.fastly.netNot flagged
d.pub.networkNot flagged
pixel.quantserve.comNot flagged
rules.quantcount.comNot flagged
s.amazon-adsystem.comNot flagged
Show 5 more...
<iframe frameborder%3D'0' width%3D'0' height%3D'0'/>")).appendTo(t.documentElement), t %3D Ge[0].contentDocument, t.write(), t.close(), n %3D O(e, t), Ge.detach()), Ke[e] %3D n), n } function j(e, t, n) { var i, o, r, a, s %3D e.style%3B return n %3D n || et(e), a %3D n ? n.getPropertyValue(t) || n[t] : void 0, "" !%3D%3D a && void 0 !%3D%3D a || ue.contains(e.ownerDocument, e) || (a %3D ue.style(e, t)), n && !le.pixelMarginRight() && Ze.test(a) && Je.test(t) && (i %3D s.width, o %3D s.minWidth, r %3D s.maxWidth, s.minWidth %3D s.maxWidth %3D s.width %3D a, a %3D n.width, s.width %3D i, s.minWidth %3D o, s.maxWidth %3D r), void 0 !%3D%3D a ? a + "" : a } function q(e, t) { return { get: function() { return e() ? void delete this.get : (this.get %3D t).apply(this, arguments) } } } function L(e) { if (e in st) return e%3B for (var t %3D e[0].toUpperCase() + e.slice(1), n %3D at.length%3B n--%3B) if ((e %3D at[n] + t) in st) return e } function N(e, t, n) { var i %3D Ne.exec(t)%3B return i ? Math.max(0, i[2] - (n || 0)) + (i[3] || "px") : t } function P(e, t, n, i, o) { for (var r %3D n %3D%3D%3D (i ? "border" : "content") ? 4 : "width" %3D%3D%3D t ? 1 : 0, a %3D 0%3B 4 > r%3B r +%3D 2) "margin" %3D%3D%3D n && (a +%3D ue.css(e, n + Pe[r], !0, o)), i ? ("content" %3D%3D%3D n && (a -%3D ue.css(e, "padding" + Pe[r], !0, o)), "margin" !%3D%3D n && (a -%3D ue.css(e, "border" + Pe[r] + "Width", !0, o))) : (a +%3D ue.css(e, "padding" + Pe[r], !0, o), "padding" !%3D%3D n && (a +%3D ue.css(e, "border" + Pe[r] + "Width", !0, o)))%3B return a } function R(e, t, n) { var i %3D !0, o %3D "width" %3D%3D%3D t ? e.offsetWidth : e.offsetHeight, r %3D et(e), a %3D "border-box" %3D%3D%3D ue.css(e, "boxSizing", !1, r)%3B if (0 >%3D o || null %3D%3D o) { if (o %3D j(e, t, r), (0 > o || null %3D%3D o) && (o %3D e.style[t]), Ze.test(o)) return o%3B i %3D a && (le.boxSizingReliable() || o %3D%3D%3D e.style[t]), o %3D parseFloat(o) || 0 } return o + P(e, t, n || (a ? "border" : "content"), i, r) + "px" } function I(e, t) { for (var n, i, o, r %3D [], a %3D 0, s %3D e.length%3B s > a%3B a++) i %3D e[a], i.style && (r[a] %3D Oe.get(i, "olddisplay"), n %3D i.style.display, t ? (r[a] || "none" !%3D%3D n || (i.style.display %3D ""), "" %3D%3D%3D i.style.display && Re(i) && (r[a] %3D Oe.access(i, "olddisplay", F(i.nodeName)))) : (o %3D Re(i), "none" %3D%3D%3D n && o || Oe.set(i, "olddisplay", o ? n : ue.css(i, "display"))))%3B for (a %3D 0%3B s > a%3B a++) i %3D e[a], i.style && (t && "none" !%3D%3D i.style.display && "" !%3D%3D i.style.display || (i.style.display %3D t ? r[a] || "" : "none"))%3B return e } function M(e, t, n, i, o) { return new M.prototype.init(e, t, n, i, o) } function H() { return r.setTimeout(function() { lt %3D void 0 }), lt %3D ue.now() } function z(e, t) { var n, i %3D 0, o %3D { height: e }%3B for (t %3D t ? 1 : 0%3B 4 > i%3B i +%3D 2 - t) n %3D Pe[i], o["margin" + n] %3D o["padding" + n] %3D e%3B return t && (o.opacity %3D o.width %3D e), o } function $(e, t, n) { for (var i, o %3D (W.tweeners[t] || []).concat(W.tweeners["*"]), r %3D 0, a %3D o.length%3B a > r%3B r++) if (i %3D o[r].call(n, t, e)) return i } function V(e, t, n) { var i, o, r, a, s, l, c, u %3D this, d %3D {}, f %3D e.style, p %3D e.nodeType && Re(e), h %3D Oe.get(e, "fxshow")%3B n.queue || (s %3D ue._queueHooks(e, "fx"), null %3D%3D s.unqueued && (s.unqueued %3D 0, l %3D s.empty.fire, s.empty.fire %3D function() { s.unqueued || l() }), s.unqueued++, u.always(function() { u.always(function() { s.unqueued--, ue.queue(e, "fx").length || s.empty.fire() }) })), 1 %3D%3D%3D e.nodeType && ("height" in t || "width" in t) && (n.overflow %3D [f.overflow, f.overflowX, f.overflowY], c %3D ue.css(e, "display"), "inline" %3D%3D%3D ("none" %3D%3D%3D c ? Oe.get(e, "olddisplay") || F(e.nodeName) : c) && "none" %3D%3D%3D ue.css(e, "float") && (f.display %3D "inline-block")), n.overflow && (f.overflow %3D "hidden", u.always(function() { f.overflow %3D n.overflow[0], f.overflowX %3D n.overflow[1], f.overflowY %3D n.overflow[2] }))%3B for (i in t) if (o %3D t[i], ut.exec(o)) { if (delete t[i], r %3D r || "toggle" %3D%3D%3D o, o %3D%3D%3D (p ? "hide" : "show")) { if ("show" !%3D%3D o || !h || void 0 %3D%3D%3D h[i]) continue%3B p %3D !0 } d[i] %3D h && h[i] || ue.style(e, i) } else c %3D void 0%3B if (ue.isEmptyObject(d)) "inline" %3D%3D%3D ("none" %3D%3D%3D c ? F(e.nodeName) : c) && (f.display %3D c)%3B else { h ? "hidden" in h && (p %3D h.hidden) : h %3D Oe.access(e, "fxshow", {}), r && (h.hidden %3D !p), p ? ue(e).show() : u.done(function() { ue(e).hide() }), u.done(function() { var t%3B Oe.remove(e, "fxshow")%3B for (t in d) ue.style(e, t, d[t]) })%3B for (i in d) a %3D $(p ? h[i] : 0, i, u), i in h || (h[i] %3D a.start, p && (a.end %3D a.start, a.start %3D "width" %3D%3D%3D i || "height" %3D%3D%3D i ? 1 : 0)) } } function B(e, t) { var n, i, o, r, a%3B for (n in e) if (i %3D ue.camelCase(n), o %3D t[i], r %3D e[n], ue.isArray(r) && (o %3D r[1], r %3D e[n] %3D r[0]), n !%3D%3D i && (e[i] %3D r, delete e[n]), (a %3D ue.cssHooks[i]) && "expand" in a) { r %3D a.expand(r), delete e[i]%3B for (n in r) n in e || (e[n] %3D r[n], t[n] %3D o) } else t[i] %3D o } function W(e, t, n) { var i, o, r %3D 0, a %3D W.prefilters.length, s %3D ue.Deferred().always(function() { delete l.elem }), l %3D function() { if (o) return !1%3B for (var t %3D lt || H(), n %3D Math.max(0, c.startTime + c.duration - t), i %3D n / c.duration || 0, r %3D 1 - i, a %3D 0, l %3D c.tweens.length%3B l > a%3B a++) c.tweens[a].run(r)%3B return s.notifyWith(e, [c, r, n]), 1 > r && l ? n : (s.resolveWith(e, [c]), !1) }, c %3D s.promise({ elem: e, props: ue.extend({}, t), opts: ue.extend(!0, { specialEasing: {}, easing: ue.easing._default }, n), originalProperties: t, originalOptions: n, startTime: lt || H(), duration: n.duration, tweens: [], createTween: function(t, n) { var i %3D ue.Tween(e, c.opts, t, n, c.opts.specialEasing[t] || c.opts.easing)%3B return c.tweens.push(i), i }, stop: function(t) { var n %3D 0, i %3D t ? c.tweens.length : 0%3B if (o) return this%3B for (o %3D !0%3B i > n%3B n++) c.tweens[n].run(1)%3B return t ? (s.notifyWith(e, [c, 1, 0]), s.resolveWith(e, [c, t])) : s.rejectWith(e, [c, t]), this } }), u %3D c.props%3B for (B(u, c.opts.specialEasing)%3B a > r%3B r++) if (i %3D W.prefilters[r].call(c, e, u, c.opts)) return ue.isFunction(i.stop) && (ue._queueHooks(c.elem, c.opts.queue).stop %3D ue.proxy(i.stop, i)), i%3B return ue.map(u, $, c), ue.isFunction(c.opts.start) && c.opts.start.call(e, c), ue.fx.timer(ue.extend(l, { elem: e, anim: c, queue: c.opts.queue })), c.progress(c.opts.progress).done(c.opts.done, c.opts.complete).fail(c.opts.fail).always(c.opts.always) } function U(e) { return e.getAttribute && e.getAttribute("class") || "" } function _(e) { return function(t, n) { "string" !%3D typeof t && (n %3D t, t %3D "*")%3B var i, o %3D 0, r %3D t.toLowerCase().match(Te) || []%3B if (ue.isFunction(n)) for (%3B i %3D r[o++]%3B) "+" %3D%3D%3D i[0] ? (i %3D i.slice(1) || "*", (e[i] %3D e[i] || []).unshift(n)) : (e[i] %3D e[i] || []).push(n) } } function X(e, t, n, i) { function o(s) { var l%3B return r[s] %3D !0, ue.each(e[s] || [], function(e, s) { var c %3D s(t, n, i)%3B return "string" !%3D typeof c || a || r[c] ? a ? !(l %3D c) : void 0 : (t.dataTypes.unshift(c), o(c), !1) }), l } var r %3D {}, a %3D e %3D%3D%3D Ft%3B return o(t.dataTypes[0]) || !r["*"] && o("*") } function Q(e, t) { var n, i, o %3D ue.ajaxSettings.flatOptions || {}%3B for (n in t) void 0 !%3D%3D t[n] && ((o[n] ? e : i || (i %3D {}))[n] %3D t[n])%3B return i && ue.extend(!0, e, i), e } function Y(e, t, n) { for (var i, o, r, a, s %3D e.contents, l %3D e.dataTypes%3B "*" %3D%3D%3D l[0]%3B) l.shift(), void 0 %3D%3D%3D i && (i %3D e.mimeType || t.getResponseHeader("Content-Type"))%3B if (i) for (o in s) if (s[o] && s[o].test(i)) { l.unshift(o)%3B break } if (l[0] in n) r %3D l[0]%3B else { for (o in n) { if (!l[0] || e.converters[o + " " + l[0]]) { r %3D o%3B break } a || (a %3D o) } r %3D r || a } return r ? (r !%3D%3D l[0] && l.unshift(r), n[r]) : void 0 } function G(e, t, n, i) { var o, r, a, s, l, c %3D {}, u %3D e.dataTypes.slice()%3B if (u[1]) for (a in e.converters) c[a.toLowerCase()] %3D e.converters[a]%3B for (r %3D u.shift()%3B r%3B) if (e.responseFields[r] && (n[e.responseFields[r]] %3D t), !l && i && e.dataFilter && (t %3D e.dataFilter(t, e.dataType)), l %3D r, r %3D u.shift()) if ("*" %3D%3D%3D r) r %3D l%3B else if ("*" !%3D%3D l && l !%3D%3D r) { if (!(a %3D c[l + " " + r] || c["* " + r])) for (o in c) if (s %3D o.split(" "), s[1] %3D%3D%3D r && (a %3D c[l + " " + s[0]] || c["* " + s[0]])) { !0 %3D%3D%3D a ? a %3D c[o] : !0 !%3D%3D c[o] && (r %3D s[0], u.unshift(s[1]))%3B break } if (!0 !%3D%3D a) if (a && e.throws) t %3D a(t)%3B else try { t %3D a(t) } catch (e) { return { state: "parsererror", error: a ? e : "No conversion from " + l + " to " + r } } } return { state: "success", data: t } } function K(e, t, n, i) { var o%3B if (ue.isArray(t)) ue.each(t, function(t, o) { n || Nt.test(e) ? i(e, o) : K(e + "[" + ("object" %3D%3D typeof o && null !%3D o ? t : "") + "]", o, n, i) })%3B else if (n || "object" !%3D%3D ue.type(t)) i(e, t)%3B else for (o in t) K(e + "[" + o + "]", t[o], n, i) } function J(e) { return ue.isWindow(e) ? e : 9 %3D%3D%3D e.nodeType && e.defaultView } var Z %3D [], ee %3D r.document, te %3D Z.slice, ne %3D Z.concat, ie %3D Z.push, oe %3D Z.indexOf, re %3D {}, ae %3D re.toString, se %3D re.hasOwnProperty, le %3D {}, ce %3D "2.2.4", ue %3D function(e, t) { return new ue.fn.init(e, t) }, de %3D /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, fe %3D /^-ms-/, pe %3D /-([\da-z])/gi, he %3D function(e, t) { return t.toUpperCase() }%3B ue.fn %3D ue.prototype %3D { jquery: ce, constructor: ue, selector: "", length: 0, toArray: function() { return te.call(this) }, get: function(e) { return null !%3D e ? 0 > e ? this[e + this.length] : this[e] : te.call(this) }, pushStack: function(e) { var t %3D ue.merge(this.constructor(), e)%3B return t.prevObject %3D this, t.context %3D this.context, t }, each: function(e) { return ue.each(this, e) }, map: function(e) { return this.pushStack(ue.map(this, function(t, n) { return e.call(t, n, t) })) }, slice: function() { return this.pushStack(te.apply(this, arguments)) }, first: function() { return this.eq(0) }, last: function() { return this.eq(-1) }, eq: function(e) { var t %3D this.length, n %3D +e + (0 > e ? t : 0)%3B return this.pushStack(n >%3D 0 && t > n ? [this[n]] : []) }, end: function() { return this.prevObject || this.constructor() }, push: ie, sort: Z.sort, splice: Z.splice }, ue.extend %3D ue.fn.extend %3D function() { var e, t, n, i, o, r, a %3D arguments[0] || {}, s %3D 1, l %3D arguments.length, c %3D !1%3B for ("boolean" %3D%3D typeof a && (c %3D a, a %3D arguments[s] || {}, s++), "object" %3D%3D typeof a || ue.isFunction(a) || (a %3D {}), s %3D%3D%3D l && (a %3D this, s--)%3B l > s%3B s++) if (null !%3D (e %3D arguments[s])) for (t in e) n %3D a[t], i %3D e[t], a !%3D%3D i && (c && i && (ue.isPlainObject(i) || (o %3D ue.isArray(i))) ? (o ? (o %3D !1, r %3D n && ue.isArray(n) ? n : []) : r %3D n && ue.isPlainObject(n) ? n : {}, a[t] %3D ue.extend(c, r, i)) : void 0 !%3D%3D i && (a[t] %3D i))%3B return a }, ue.extend({ expando: "jQuery" + (ce + Math.random()).replace(/\D/g, ""), isReady: !0, error: function(e) { throw new Error(e) }, noop: function() {}, isFunction: function(e) { return "function" %3D%3D%3D ue.type(e) }, isArray: Array.isArray, isWindow: function(e) { return null !%3D e && e %3D%3D%3D e.window }, isNumeric: function(e) { var t %3D e && e.toString()%3B return !ue.isArray(e) && t - parseFloat(t) + 1 >%3D 0 }, isPlainObject: function(e) { var t%3B if ("object" !%3D%3D ue.type(e) || e.nodeType || ue.isWindow(e)) return !1%3B if (e.constructor && !se.call(e, "constructor") && !se.call(e.constructor.prototype || {}, "isPrototypeOf")) return !1%3B for (t in e)%3B return void 0 %3D%3D%3D t || se.call(e, t) }, isEmptyObject: function(e) { var t%3B for (t in e) return !1%3B return !0 }, type: function(e) { return null %3D%3D e ? e + "" : "object" %3D%3D typeof e || "function" %3D%3D typeof e ? re[ae.call(e)] || "object" : typeof e }, globalEval: function(e) { var t, n %3D eval%3B (e %3D ue.trim(e)) && (1 %3D%3D%3D e.indexOf("use strict") ? (t %3D ee.createElement("script"), t.text %3D e, ee.head.appendChild(t).parentNode.removeChild(t)) : n(e)) }, camelCase: function(e) { return e.replace(fe, "ms-").replace(pe, he) }, nodeName: function(e, t) { return e.nodeName && e.nodeName.toLowerCase() %3D%3D%3D t.toLowerCase() }, each: function(e, t) { var n, i %3D 0%3B if (s(e)) for (n %3D e.length%3B n > i && !1 !%3D%3D t.call(e[i], i, e[i])%3B i++)%3B else for (i in e) if (!1 %3D%3D%3D t.call(e[i], i, e[i])) break%3B return e }, trim: function(e) { return null %3D%3D e ? "" : (e + "").replace(de, "") }, makeArray: function(e, t) { var n %3D t || []%3B return null !%3D e && (s(Object(e)) ? ue.merge(n, "string" %3D%3D typeof e ? [e] : e) : ie.call(n, e)), n }, inArray: function(e, t, n) { return null %3D%3D t ? -1 : oe.call(t, e, n) }, merge: function(e, t) { for (var n %3D +t.length, i %3D 0, o %3D e.length%3B n > i%3B i++) e[o++] %3D t[i]%3B return e.length %3D o, e }, grep: function(e, t, n) { for (var i %3D [], o %3D 0, r %3D e.length, a %3D !n%3B r > o%3B o++) !t(e[o], o) !%3D%3D a && i.push(e[o])%3B return i }, map: function(e, t, n) { var i, o, r %3D 0, a %3D []%3B if (s(e)) for (i %3D e.length%3B i > r%3B r++) null !%3D (o %3D t(e[r], r, n)) && a.push(o)%3B else for (r in e) null !%3D (o %3D t(e[r], r, n)) && a.push(o)%3B return ne.apply([], a) }, guid: 1, proxy: function(e, t) { var n, i, o%3B return "string" %3D%3D typeof t && (n %3D e[t], t %3D e, e %3D n), ue.isFunction(e) ? (i %3D te.call(arguments, 2), o %3D function() { return e.apply(t || this, i.concat(te.call(arguments))) }, o.guid %3D e.guid %3D e.guid || ue.guid++, o) : void 0 }, now: Date.now, support: le }), "function" %3D%3D typeof Symbol && (ue.fn[Symbol.iterator] %3D Z[Symbol.iterator]), ue.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(e, t) { re["[object " + t + "]"] %3D t.toLowerCase() })%3B var me %3D function(e) { function t(e, t, n, i) { var o, r, a, s, c, d, f, p, h %3D t && t.ownerDocument, m %3D t ? t.nodeType : 9%3B if (n %3D n || [], "string" !%3D typeof e || !e || 1 !%3D%3D m && 9 !%3D%3D m && 11 !%3D%3D m) return n%3B if (!i && ((t ? t.ownerDocument || t : M) !%3D%3D F && O(t), t %3D t || F, q)) { if (11 !%3D%3D m && (d %3D me.exec(e))) if (o %3D d[1]) { if (9 %3D%3D%3D m) { if (!(a %3D t.getElementById(o))) return n%3B if (a.id %3D%3D%3D o) return n.push(a), n } else if (h && (a %3D h.getElementById(o)) && R(t, a) && a.id %3D%3D%3D o) return n.push(a), n } else { if (d[2]) return G.apply(n, t.getElementsByTagName(e)), n%3B if ((o %3D d[3]) && y.getElementsByClassName && t.getElementsByClassName) return G.apply(n, t.getElementsByClassName(o)), n } if (y.qsa && !B[e + " "] && (!L || !L.test(e))) { if (1 !%3D%3D m) h %3D t, p %3D e%3B else if ("object" !%3D%3D t.nodeName.toLowerCase()) { for ((s %3D t.getAttribute("id")) ? s %3D s.replace(ve, "\\$&") : t.setAttribute("id", s %3D I), f %3D k(e), r %3D f.length, c %3D ue.test(s) ? "#" + s : "[id%3D'" + s + "']"%3B r--%3B) f[r] %3D c + " " + u(f[r])%3B p %3D f.join(","), h %3D ge.test(e) && l(t.parentNode) || t } if (p) try { return G.apply(n, h.querySelectorAll(p)), n } catch (e) {} finally { s %3D%3D%3D I && t.removeAttribute("id") } } } return T(e.replace(re, "$1"), t, n, i) } function n() { function e(n, i) { return t.push(n + " ") > x.cacheLength && delete e[t.shift()], e[n + " "] %3D i } var t %3D []%3B return e } function i(e) { return e[I] %3D !0, e } function o(e) { var t %3D F.createElement("div")%3B try { return !!e(t) } catch (e) { return !1 } finally { t.parentNode && t.parentNode.removeChild(t), t %3D null } } function r(e, t) { for (var n %3D e.split("|"), i %3D n.length%3B i--%3B) x.attrHandle[n[i]] %3D t } function a(e, t) { var n %3D t && e, i %3D n && 1 %3D%3D%3D e.nodeType && 1 %3D%3D%3D t.nodeType && (~t.sourceIndex || U) - (~e.sourceIndex || U)%3B if (i) return i%3B if (n) for (%3B n %3D n.nextSibling%3B) if (n %3D%3D%3D t) return -1%3B return e ? 1 : -1 } function s(e) { return i(function(t) { return t %3D +t, i(function(n, i) { for (var o, r %3D e([], n.length, t), a %3D r.length%3B a--%3B) n[o %3D r[a]] && (n[o] %3D !(i[o] %3D n[o])) }) }) } function l(e) { return e && void 0 !%3D%3D e.getElementsByTagName && e } function c() {} function u(e) { for (var t %3D 0, n %3D e.length, i %3D ""%3B n > t%3B t++) i +%3D e[t].value%3B return i } function d(e, t, n) { var i %3D t.dir, o %3D n && "parentNode" %3D%3D%3D i, r %3D z++%3B return t.first ? function(t, n, r) { for (%3B t %3D t[i]%3B) if (1 %3D%3D%3D t.nodeType || o) return e(t, n, r) } : function(t, n, a) { var s, l, c, u %3D [H, r]%3B if (a) { for (%3B t %3D t[i]%3B) if ((1 %3D%3D%3D t.nodeType || o) && e(t, n, a)) return !0 } else for (%3B t %3D t[i]%3B) if (1 %3D%3D%3D t.nodeType || o) { if (c %3D t[I] || (t[I] %3D {}), l %3D c[t.uniqueID] || (c[t.uniqueID] %3D {}), (s %3D l[i]) && s[0] %3D%3D%3D H && s[1] %3D%3D%3D r) return u[2] %3D s[2]%3B if (l[i] %3D u, u[2] %3D e(t, n, a)) return !0 } } } function f(e) { return e.length > 1 ? function(t, n, i) { for (var o %3D e.length%3B o--%3B) if (!e[o](t, n, i)) return !1%3B return !0 } : e[0] } function p(e, n, i) { for (var o %3D 0, r %3D n.length%3B r > o%3B o++) t(e, n[o], i)%3B return i } function h(e, t, n, i, o) { for (var r, a %3D [], s %3D 0, l %3D e.length, c %3D null !%3D t%3B l > s%3B s++)(r %3D e[s]) && (n && !n(r, i, o) || (a.push(r), c && t.push(s)))%3B return a } function m(e, t, n, o, r, a) { return o && !o[I] && (o %3D m(o)), r && !r[I] && (r %3D m(r, a)), i(function(i, a, s, l) { var c, u, d, f %3D [], m %3D [], g %3D a.length, v %3D i || p(t || "*", s.nodeType ? [s] : s, []), b %3D !e || !i && t ? v : h(v, f, e, s, l), y %3D n ? r || (i ? e : g || o) ? [] : a : b%3B if (n && n(b, y, s, l), o) for (c %3D h(y, m), o(c, [], s, l), u %3D c.length%3B u--%3B)(d %3D c[u]) && (y[m[u]] %3D !(b[m[u]] %3D d))%3B if (i) { if (r || e) { if (r) { for (c %3D [], u %3D y.length%3B u--%3B)(d %3D y[u]) && c.push(b[u] %3D d)%3B r(null, y %3D [], c, l) } for (u %3D y.length%3B u--%3B)(d %3D y[u]) && (c %3D r ? J(i, d) : f[u]) > -1 && (i[c] %3D !(a[c] %3D d)) } } else y %3D h(y %3D%3D%3D a ? y.splice(g, y.length) : y), r ? r(null, a, y, l) : G.apply(a, y) }) } function g(e) { for (var t, n, i, o %3D e.length, r %3D x.relative[e[0].type], a %3D r || x.relative[" "], s %3D r ? 1 : 0, l %3D d(function(e) { return e %3D%3D%3D t }, a, !0), c %3D d(function(e) { return J(t, e) > -1 }, a, !0), p %3D [function(e, n, i) { var o %3D !r && (i || n !%3D%3D A) || ((t %3D n).nodeType ? l(e, n, i) : c(e, n, i))%3B return t %3D null, o }]%3B o > s%3B s++) if (n %3D x.relative[e[s].type]) p %3D [d(f(p), n)]%3B else { if (n %3D x.filter[e[s].type].apply(null, e[s].matches), n[I]) { for (i %3D ++s%3B o > i && !x.relative[e[i].type]%3B i++)%3B return m(s > 1 && f(p), s > 1 && u(e.slice(0, s - 1).concat({ value: " " %3D%3D%3D e[s - 2].type ? "*" : "" })).replace(re, "$1"), n, i > s && g(e.slice(s, i)), o > i && g(e %3D e.slice(i)), o > i && u(e)) } p.push(n) } return f(p) } function v(e, n) { var o %3D n.length > 0, r %3D e.length > 0, a %3D function(i, a, s, l, c) { var u, d, f, p %3D 0, m %3D "0", g %3D i && [], v %3D [], b %3D A, y %3D i || r && x.find.TAG("*", c), w %3D H +%3D null %3D%3D b ? 1 : Math.random() || .1, C %3D y.length%3B for (c && (A %3D a %3D%3D%3D F || a || c)%3B m !%3D%3D C && null !%3D (u %3D y[m])%3B m++) { if (r && u) { for (d %3D 0, a || u.ownerDocument %3D%3D%3D F || (O(u), s %3D !q)%3B f %3D e[d++]%3B) if (f(u, a || F, s)) { l.push(u)%3B break } c && (H %3D w) } o && ((u %3D !f && u) && p--, i && g.push(u)) } if (p +%3D m, o && m !%3D%3D p) { for (d %3D 0%3B f %3D n[d++]%3B) f(g, v, a, s)%3B if (i) { if (p > 0) for (%3B m--%3B) g[m] || v[m] || (v[m] %3D Q.call(l))%3B v %3D h(v) } G.apply(l, v), c && !i && v.length > 0 && p + n.length >Flagged: Generic Suspicious Object
wallpaper.dog Overview

Description of wallpaper.dog

wallpaper.dog appears to be a wallpaper-sharing website that offers free desktop and phone background images. The page title and meta description indicate a focus on curated wallpaper collections, and the screenshot shows a searchable gallery with categories such as anime, cars, nature, movies, music, and abstract art.

Based on the visible content and classification data, the site appears to function as a media gallery rather than a transactional service. It presents image collections for browsing and download, with content organized into topical categories and popular wallpaper tiles on the homepage. Public WHOIS data indicates the domain has been registered since 2017, though the specific operating entity is not clearly identified from the provided scan data alone.

Safety Assessment for wallpaper.dog

The scan results are broadly reassuring at the time of this scan. The domain was flagged by 0 out of 91 security engines, and the malware scan reported 0 flagged files out of 60 scanned. Major threat-database checks also showed clean results, with no listings detected in the provided content-malice blacklists.

One low-confidence anomaly was present in the malware scan output: a generic heuristic string associated with "c.opts.fail" also appeared among referenced domains. On its own, this kind of generic heuristic match does not strongly indicate harmful activity, especially when it is not corroborated by multi-engine detections, flagged files, or blacklist listings. The domain is also relatively established at about 9 years old, which modestly reduces concern compared with a newly registered site.

Based on the available data, wallpaper.dog appears to be a legitimate wallpaper gallery, and no significant threats were detected at the time of this scan.

Technical Description

The site uses a valid SSL/TLS certificate issued by a mainstream certificate authority, with expiry shown as 2026-09-04. It is served through Cloudflare infrastructure, with the web server and hosting both attributed to Cloudflare and nameservers also pointing to Cloudflare. This setup commonly provides CDN and edge-protection benefits, although the exact TLS protocol version was not available in the scan data.

DNSSEC appears to be unsigned, which is not uncommon but means DNS responses do not benefit from DNSSEC validation. No major technical security issues were evident from the provided scan results beyond the isolated low-confidence heuristic reference noted in the malware scan.

HTTP Redirect Chain
No redirects detected - direct connection to destination
Website Insights
#464,736
Tranco Rank
Moderately Popular
Visitors ~100K-1M/mo
Category: Media Sharing, Software Downloads
Rank History (30 days)
Jun 15 Jul 26
33 cookies detected
Essential33
Analytics0
Advertising0
Social0
22 1st party cookies
11 3rd party (trackers)
Dispute This Score For website owners
Believe this score is inaccurate?
If you are the website owner and believe the scan results contain errors or false positives, you can submit a dispute for manual review. Our team typically responds within 1-2 business days.
You will be asked to verify your email before the dispute can be processed.
By submitting this form, you confirm that the information provided is accurate. Disputes are reviewed manually and results may take up to 48 hours to update.
One more step…
To submit your dispute for wallpaper.dog, please click the verification link we just emailed you. Once verified, we'll review it within 1-2 business days.
This report was generated automatically and is provided for informational purposes only. Results are based on a point-in-time scan and may contain false positives or incomplete data. This does not constitute a security audit or certification. No vendor in the market can guarantee a 100% detection rate. If you believe this report is inaccurate, please submit a dispute.

Share your experience with this website. Was it safe? Did you encounter any issues?