Spaces:
Running
Running
| <html lang="en"> | |
| <head> | |
| <meta charset="utf-8" /> | |
| <meta name="viewport" content="width=device-width, initial-scale=1" /> | |
| <title>Reverse Face Search — Find Anyone by Photo | UnFake</title> | |
| <meta name="description" content="Reverse face search by photo — find anyone's social profiles and name online in seconds. Anonymous AI face search, no signup. Powered by UnFake." /> | |
| <meta name="keywords" content="reverse face search, face search, find someone by photo, find anyone by photo, catfish check, search by face, find social profiles by photo, pimeyes alternative, facecheck alternative" /> | |
| <link rel="canonical" href="https://unfake.pro/" /> | |
| <meta name="robots" content="index,follow" /> | |
| <meta property="og:type" content="website" /> | |
| <meta property="og:title" content="Reverse Face Search — Find Anyone by Photo | UnFake" /> | |
| <meta property="og:description" content="Reverse face search by photo — find anyone's social profiles and name online in seconds. Anonymous, no signup. Powered by UnFake." /> | |
| <meta property="og:url" content="https://unfake.pro/" /> | |
| <meta property="og:image" content="https://cdn.unfake.pro/app_photos/logo_v1005.png" /> | |
| <meta name="twitter:card" content="summary_large_image" /> | |
| <meta name="twitter:title" content="Reverse Face Search — Find Anyone by Photo | UnFake" /> | |
| <meta name="twitter:description" content="Reverse face search by photo — find anyone's social profiles and name online in seconds. Anonymous, no signup." /> | |
| <meta name="twitter:image" content="https://cdn.unfake.pro/app_photos/logo_v1005.png" /> | |
| <link rel="icon" href="https://cdn.unfake.pro/app_photos/logo_v1005.png" /> | |
| <style> | |
| :root{ | |
| --bg:#0A0914;--panel:rgba(255,255,255,.03);--panel2:rgba(255,255,255,.05); | |
| --line:rgba(255,255,255,.10);--green:#12B981;--green2:#0fa873;--mint:#7FE8C6; | |
| --ink:#fff;--sub:#C6CBD4;--mut:#9CA3AF; | |
| --font:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,Roboto,Helvetica,Arial,sans-serif; | |
| } | |
| *{box-sizing:border-box} | |
| html,body{margin:0} | |
| body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.6} | |
| a{color:var(--mint);text-decoration:none} | |
| img{max-width:100%} | |
| .wrap{max-width:820px;margin:0 auto;padding:0 20px} | |
| /* hero */ | |
| .hero{position:relative;overflow:hidden;text-align:center;padding:44px 20px 40px} | |
| .hero .glow{position:absolute;left:50%;top:-30%;width:760px;max-width:130%;height:360px;transform:translateX(-50%);border-radius:50%;background:rgba(18,185,129,.14);filter:blur(120px);z-index:0} | |
| .hero>*{position:relative;z-index:1} | |
| .chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--panel2);border-radius:999px;padding:6px 14px;font-size:12px;color:var(--sub)} | |
| .dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(18,185,129,.18)} | |
| h1{font-size:clamp(30px,6vw,46px);line-height:1.05;font-weight:800;letter-spacing:-.02em;margin:18px 0 0} | |
| h1 span{background:linear-gradient(90deg,var(--green),var(--mint));-webkit-background-clip:text;background-clip:text;color:transparent} | |
| .lead{max-width:560px;margin:14px auto 0;color:var(--sub);font-size:17px} | |
| /* upload card */ | |
| .card{max-width:520px;margin:26px auto 0;background:linear-gradient(to bottom,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid var(--line);border-radius:20px;padding:22px} | |
| #preview{display:none;max-height:170px;border-radius:12px;margin:0 auto 14px;border:1px solid var(--line)} | |
| .drop{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;border:2px dashed var(--line);border-radius:14px;padding:26px 16px;transition:.18s;text-align:center} | |
| .drop:hover{border-color:rgba(18,185,129,.6);background:rgba(255,255,255,.03)} | |
| .drop.drag{border-color:var(--green)} | |
| .ic{display:flex;width:52px;height:52px;align-items:center;justify-content:center;border-radius:50%;background:rgba(18,185,129,.15);color:var(--green);box-shadow:inset 0 0 0 1px rgba(18,185,129,.25)} | |
| .hint{color:var(--sub);font-weight:600}.hint small{display:block;color:var(--mut);font-weight:400;font-size:12px;margin-top:3px} | |
| .cta{width:100%;height:52px;margin-top:14px;border:none;border-radius:13px;background:var(--green);color:#04130d;font-weight:800;font-size:16px;cursor:pointer;transition:.15s} | |
| .cta:hover{background:var(--green2)} | |
| a.cta{display:flex;align-items:center;justify-content:center;text-decoration:none} | |
| .cta.busy{opacity:.6;pointer-events:none} | |
| .trust{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;margin-top:14px;color:var(--mut);font-size:12.5px} | |
| .open{display:inline-block;margin-top:16px;padding:10px 18px;border:1px solid var(--line);border-radius:11px;color:var(--ink);font-weight:600} | |
| .open:hover{border-color:rgba(18,185,129,.5)} | |
| /* sections */ | |
| section{padding:34px 0} | |
| h2{font-size:24px;font-weight:800;letter-spacing:-.01em;margin:0 0 6px;text-align:center} | |
| .ph{color:var(--mut);text-align:center;margin:0 auto 22px;max-width:560px} | |
| .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px} | |
| .tile{display:block;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px 16px 15px;transition:.15s} | |
| .tile:hover{border-color:rgba(18,185,129,.45)} | |
| .tile b{display:block;color:var(--ink);font-size:15px;margin-bottom:3px} | |
| .tile span{color:var(--mut);font-size:13.5px} | |
| .tile .go{color:var(--mint);font-size:13px;font-weight:600} | |
| ol.steps{max-width:620px;margin:0 auto;padding:0;list-style:none;counter-reset:s} | |
| ol.steps li{counter-increment:s;position:relative;padding:12px 0 12px 46px;border-bottom:1px solid var(--line);color:var(--sub)} | |
| ol.steps li:last-child{border-bottom:none} | |
| ol.steps li b{color:var(--ink)} | |
| ol.steps li::before{content:counter(s);position:absolute;left:0;top:12px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(18,185,129,.15);color:var(--green);font-weight:800;font-size:14px} | |
| details{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:2px 16px;margin-bottom:10px} | |
| details summary{cursor:pointer;font-weight:700;padding:14px 0;list-style:none} | |
| details summary::-webkit-details-marker{display:none} | |
| details p{color:var(--sub);margin:0 0 14px} | |
| .foot{border-top:1px solid var(--line);padding:26px 0 40px;text-align:center;color:var(--mut);font-size:13px} | |
| .foot .row{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;margin:12px 0} | |
| .foot a{color:var(--sub)} | |
| .foot a:hover{color:var(--mint)} | |
| .big{display:inline-block;margin:6px 0 4px;padding:12px 22px;background:var(--green);color:#04130d;border-radius:12px;font-weight:800} | |
| .big:hover{background:var(--green2);color:#04130d} | |
| </style> | |
| </head> | |
| <body> | |
| <header class="hero"> | |
| <div class="glow" aria-hidden="true"></div> | |
| <span class="chip"><span class="dot"></span> Powered by UnFake · anonymous, no signup</span> | |
| <h1>Reverse <span>Face Search</span><br />find anyone by photo</h1> | |
| <p class="lead">Upload a profile picture and see who's really behind it across public social media and the web — spot a catfish, verify a match, or find out who you're really talking to.</p> | |
| <div class="card"> | |
| <img id="preview" alt="Selected photo preview" /> | |
| <label class="drop" id="drop"> | |
| <span class="ic" aria-hidden="true"> | |
| <svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="17 8 12 3 7 8"/><line x1="12" y1="3" x2="12" y2="15"/></svg> | |
| </span> | |
| <span class="hint" id="hint">Click, drag, or paste a photo<small>JPG, PNG or WEBP</small></span> | |
| <input id="file" type="file" name="image" accept="image/*" hidden /> | |
| </label> | |
| <a id="searchBtn" class="cta" href="https://unfake.pro" target="_blank" rel="noopener">Search this face →</a> | |
| <div class="trust"><span>🔒 Photo deleted within 24h</span><span>⚡ Results in ~45 seconds</span><span>🕶️ 100% anonymous</span></div> | |
| <a class="open" href="https://unfake.pro" target="_blank" rel="noopener">Or open the full search on UnFake →</a> | |
| </div> | |
| </header> | |
| <main class="wrap"> | |
| <section> | |
| <h2>What you can do with a face search</h2> | |
| <p class="ph">One photo, many answers. Each search runs on <a href="https://unfake.pro" target="_blank" rel="noopener">UnFake</a>.</p> | |
| <div class="grid"> | |
| <a class="tile" href="https://unfake.pro" target="_blank" rel="noopener"><b>🎣 Catfish check</b><span>Confirm the person in a dating or DM photo is real.</span><br /><span class="go">Check now →</span></a> | |
| <a class="tile" href="https://unfake.pro" target="_blank" rel="noopener"><b>🛡️ Verify a match</b><span>Vet a Tinder, Hinge, or Bumble match before you meet.</span><br /><span class="go">Verify →</span></a> | |
| <a class="tile" href="https://unfake.pro" target="_blank" rel="noopener"><b>🔎 Reverse face search</b><span>Match a face across public social networks, not just one image.</span><br /><span class="go">Search →</span></a> | |
| <a class="tile" href="https://unfake.pro" target="_blank" rel="noopener"><b>📱 Find social profiles</b><span>Turn a photo into the accounts and name behind it.</span><br /><span class="go">Find socials →</span></a> | |
| <a class="tile" href="https://unfake.pro" target="_blank" rel="noopener"><b>💰 Income estimation</b><span>See an estimated yearly income from a face.</span><br /><span class="go">Estimate →</span></a> | |
| <a class="tile" href="https://unfake.pro" target="_blank" rel="noopener"><b>🧭 Find the real person</b><span>Put a name and profiles to a face you only have a picture of.</span><br /><span class="go">Find them →</span></a> | |
| </div> | |
| </section> | |
| <section> | |
| <h2>How reverse face search works</h2> | |
| <p class="ph">Face matching finds the same <em>person</em> across different photos — not just copies of one image file, the way a normal reverse image search does.</p> | |
| <ol class="steps"> | |
| <li><b>Upload a clear photo.</b> One front-facing face, centered, good light, no heavy filters or sunglasses.</li> | |
| <li><b>We scan the public web.</b> UnFake compares the facial features against public social media and online profiles, in about 45 seconds.</li> | |
| <li><b>Review your results.</b> See matching social profiles, a possible name, and an income estimate — completely anonymous, with your photo deleted within 24 hours.</li> | |
| </ol> | |
| <p style="text-align:center;margin-top:20px"><a class="big" href="https://unfake.pro" target="_blank" rel="noopener">Run a face search on UnFake →</a></p> | |
| </section> | |
| <section> | |
| <h2>Frequently asked questions</h2> | |
| <details><summary>How long does the search take?</summary><p>Around 45 seconds. Upload a clear, centered photo and results come back in under a minute.</p></details> | |
| <details><summary>How much does it cost?</summary><p>$9.99 per search — a simple one-time payment, no subscription and no hidden fees.</p></details> | |
| <details><summary>Do you store the uploaded images?</summary><p>No. All uploaded images are deleted within 24 hours, and you never need an account to run a search.</p></details> | |
| <details><summary>Can I upload a photo that isn't from a dating app?</summary><p>Yes! Any photo with a clear face works — Tinder, Hinge, Bumble, OKCupid, Badoo, or any picture at all.</p></details> | |
| <details><summary>What does the search reveal?</summary><p>Depending on the face, it may show social media profiles, a full name, and an estimated yearly income, along with any public traces online.</p></details> | |
| <details><summary>Can this help me avoid catfishing?</summary><p>Absolutely. UnFake was built exactly for that — verify the person behind a profile before you invest time, money, or trust.</p></details> | |
| </section> | |
| </main> | |
| <footer class="foot"> | |
| <div> | |
| <a class="big" href="https://unfake.pro" target="_blank" rel="noopener">Open UnFake →</a> | |
| </div> | |
| <div class="row"> | |
| <a href="https://unfake.pro" target="_blank" rel="noopener">Face Search</a> | |
| <a href="https://unfake.pro/demo" target="_blank" rel="noopener">Search Demo</a> | |
| <a href="https://unfake.pro/policy.html" target="_blank" rel="noopener">Privacy Policy</a> | |
| <a href="https://unfake.pro/terms-and-conditions.html" target="_blank" rel="noopener">Terms of Use</a> | |
| <a href="https://www.reddit.com/r/facelookup/" target="_blank" rel="noopener">r/FaceLookup</a> | |
| </div> | |
| <div>© <span id="yr">2026</span> UnFake.pro · AI reverse face search for safer online dating.</div> | |
| </footer> | |
| <script> | |
| var file=document.getElementById("file"),drop=document.getElementById("drop"),img=document.getElementById("preview"),hint=document.getElementById("hint"),btn=document.getElementById("searchBtn"); | |
| // Are we embedded in Hugging Face's sandboxed iframe? (it blocks same-tab nav) | |
| var inFrame=(function(){ try { return window.top!==window.self; } catch(e){ return true; } })(); | |
| function show(f){if(!f)return;img.src=URL.createObjectURL(f);img.style.display="block";hint.innerHTML=(f.name||"photo").slice(0,28)+" — ready<small>Tap search to crop & scan it on UnFake</small>";} | |
| function compress(file, cb){ | |
| var im=new Image(); | |
| im.onload=function(){ | |
| var max=1280, s=Math.min(1, max/Math.max(im.width,im.height)); | |
| var w=Math.round(im.width*s), h=Math.round(im.height*s); | |
| var c=document.createElement("canvas"); c.width=w; c.height=h; | |
| c.getContext("2d").drawImage(im,0,0,w,h); | |
| cb(c.toDataURL("image/jpeg",0.82)); | |
| }; | |
| im.onerror=function(){ cb(null); }; | |
| im.src=URL.createObjectURL(file); | |
| } | |
| // Navigate to UnFake. On the direct subdomain (not in HF's iframe) this is a | |
| // same-tab redirect and works automatically; inside the iframe it opens a new | |
| // tab (which mobile browsers may only allow right after a user tap). | |
| function navigate(url){ | |
| if (!inFrame) { window.location.href = url; } | |
| else { window.open(url, "_blank"); } | |
| } | |
| // Compress as soon as a photo is picked, then auto-move to UnFake. The button | |
| // href is also preset so the button still works as a manual fallback. | |
| function handleFile(f){ | |
| if(!f) return; | |
| show(f); | |
| btn.classList.add("busy"); | |
| btn.textContent="Preparing photo…"; | |
| compress(f,function(d){ | |
| var url = d ? "https://unfake.pro/#photo="+encodeURIComponent(d) : "https://unfake.pro"; | |
| btn.href = url; | |
| btn.classList.remove("busy"); | |
| btn.textContent="Search this face →"; | |
| navigate(url); | |
| }); | |
| } | |
| file.addEventListener("change",function(){ handleFile(file.files&&file.files[0]); }); | |
| ["dragenter","dragover"].forEach(function(e){drop.addEventListener(e,function(v){v.preventDefault();drop.classList.add("drag");});}); | |
| ["dragleave","drop"].forEach(function(e){drop.addEventListener(e,function(v){v.preventDefault();drop.classList.remove("drag");});}); | |
| drop.addEventListener("drop",function(v){var f=v.dataTransfer.files&&v.dataTransfer.files[0];if(f){file.files=v.dataTransfer.files;handleFile(f);}}); | |
| window.addEventListener("paste",function(e){var it=(e.clipboardData||{}).items||[];for(var i=0;i<it.length;i++){if(it[i].type.indexOf("image")===0){var f=it[i].getAsFile();file.files=null;handleFile(f);var dt=new DataTransfer();dt.items.add(f);file.files=dt.files;}}}); | |
| // Direct-subdomain visit: same tab. Inside HF's iframe: native target="_blank". | |
| btn.addEventListener("click",function(e){ | |
| if(!inFrame){ e.preventDefault(); window.location.href = btn.href; } | |
| }); | |
| document.getElementById("yr").textContent=new Date().getFullYear(); | |
| </script> | |
| <script type="application/ld+json"> | |
| {"@context":"https://schema.org","@graph":[ | |
| {"@type":"WebApplication","name":"UnFake Reverse Face Search","applicationCategory":"UtilitiesApplication","operatingSystem":"Web","url":"https://unfake.pro","offers":{"@type":"Offer","price":"9.99","priceCurrency":"USD"},"description":"Upload a profile picture to find the real person behind it across public social media and the web. Anonymous, no signup, results in under 45 seconds."}, | |
| {"@type":"FAQPage","mainEntity":[ | |
| {"@type":"Question","name":"How long does the search take?","acceptedAnswer":{"@type":"Answer","text":"Around 45 seconds."}}, | |
| {"@type":"Question","name":"How much does it cost?","acceptedAnswer":{"@type":"Answer","text":"$9.99 per search — a one-time payment with no subscription."}}, | |
| {"@type":"Question","name":"Do you store the uploaded images?","acceptedAnswer":{"@type":"Answer","text":"No. All uploaded images are deleted within 24 hours."}}, | |
| {"@type":"Question","name":"Can this help me avoid catfishing?","acceptedAnswer":{"@type":"Answer","text":"Absolutely. UnFake was built exactly for that."}} | |
| ]}]} | |
| </script> | |
| </body> | |
| </html> | |