PageSourceSearch

https://toolhub-4dn.pages.dev/tools

html toolhub-4dn.pages.dev collected 2026-10-03 05:46:01 UTC 160,997 bytes, 1 lines download raw bytes

1<!DOCTYPE html><!--NEsvujw_aOGLB6cJfhuaA--><html lang="en" class="inter_4fd395ef-module__PnPqWa__variable caveat_90f3ff5f-module__-2ikKG__variable dancing_script_f8c06b0a-module__eLwrRa__variable pacifico_37f0235d-module__3Sqpnq__variable satisfy_8478c3e8-module__bNpdrW__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/406d3fc8d5ec9f59-s.p.3f4cab70.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/4c424024f2f05495-s.p.be897489.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/a624dffa201843ff-s.p.91936907.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/a85fe84266768609-s.p.e658778d.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/b5c495dae89803de.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/chunks/3ced6996eea929cf.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/9debf91b07c546f1.js"/>
1<script src="/_next/static/chunks/f091501564eb2ea3.js" async=""></script>
1<script src="/_next/static/chunks/acbb3dc0dad0d132.js" async=""></script>
1<script src="/_next/static/chunks/4c86ddcf3a767f1a.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-736eba6b26581351.js" async=""></script>
1<script src="/_next/static/chunks/0c5aaa4757e3a53e.js" async=""></script>
1<script src="/_next/static/chunks/29566e0f928300a5.js" async=""></script>
1<script src="/_next/static/chunks/2462898c45f5385f.js" async=""></script>
1<script src="/_next/static/chunks/ff1a16fafef87110.js" async=""></script>
1<script src="/_next/static/chunks/d2be314c3ece3fbe.js" async=""></script>
1<script src="/_next/static/chunks/5aa05c829c7b1b61.js" async=""></script>
1<meta http-equiv="Content-Security-Policy" content="default-src &#x27;self&#x27;; script-src &#x27;self&#x27; &#x27;unsafe-eval&#x27; &#x27;unsafe-inline&#x27; blob: https://www.googletagmanager.com https://static.cloudflareinsights.com https://cdn.jsdelivr.net; worker-src &#x27;self&#x27; blob:; style-src &#x27;self&#x27; &#x27;unsafe-inline&#x27; https://fonts.googleapis.com; font-src &#x27;self&#x27; https://fonts.gstatic.com; img-src &#x27;self&#x27; blob: data: https://*.pollinations.ai https://*.googleusercontent.com https://*.google-analytics.com https://analytics.google.com https://*.google.com https://*.google.co.in https://transparenttextures.com; connect-src &#x27;self&#x27; blob: https://*.pollinations.ai https://www.google.com https://google.com https://www.google.co.in https://google.co.in https://*.google.co.in https://raw.githack.com https://raw.githubusercontent.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://static.cloudflareinsights.com https://stats.g.doubleclick.net https://huggingface.co https://*.huggingface.co https://*.hf.co https://cdn.jsdelivr.net https://www.googletagmanager.com https://fonts.googleapis.com https://fonts.gstatic.com; media-src &#x27;self&#x27; blob: https://storage.googleapis.com; upgrade-insecure-requests;"/><link rel="apple-touch-icon" href="/apple-touch-icon.png"/><meta name="next-size-adjust" content=""/><meta name="theme-color" content="#2563eb"/><title>ToolHub | 30+ Free Online AI Tools &amp; Utilities</title><meta name="description" content="Access a wide range of free, secure online AI tools, PDF editors, and web utilities. No installation required, 100% private."/><meta name="author" content="Nirmal Jagani"/><link rel="manifest" href="/manifest.json"/><meta name="keywords" content="free online tools, ai image generator, ai text assistant, pdf editor, web tools, developer utilities"/><meta name="format-detection" content="telephone=no"/><meta name="google-site-verification" content="DGCVuHY6Io_Nycdqo4jtTf8uYS20uAepyhkH19z9ojk"/><meta name="mobile-web-app-capable" content="yes"/><meta name="apple-mobile-web-app-title" content="ToolHub"/><meta name="apple-mobile-web-app-status-bar-style" content="default"/><meta property="og:title" content="ToolHub - Premium AI Tools &amp; Utility Suite"/><meta property="og:description" content="Access pro-grade AI Text Assistant, Image Generator, and secure PDF tools for free. Fast, secure, and privacy-focused."/><meta property="og:url" content="https://toolhub-4dn.pages.dev"/><meta property="og:site_name" content="ToolHub"/><meta property="og:locale" content="en_US"/><meta property="og:image" content="https://toolhub-4dn.pages.dev/og-image.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:alt" content="ToolHub - 30+ Free Online AI Tools"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="ToolHub | AI Powered Utilities"/><meta name="twitter:description" content="The ultimate suite of fast, secure, and free online tools."/><meta name="twitter:image" content="https://toolhub-4dn.pages.dev/og-image.png"/><link rel="icon" href="/favicon.ico?favicon.0b3bf435.ico" sizes="256x256" type="image/x-icon"/><link rel="icon" href="/icon.png?icon.7dfaf3ba.png" sizes="640x640" type="image/png"/><link rel="apple-touch-icon" href="/apple-icon.png?apple-icon.7dfaf3ba.png" sizes="640x640" type="image/png"/>
1<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebApplication","name":"ToolHub","url":"https://toolhub-4dn.pages.dev","description":"Premium collection of 30+ free, secure online tools including AI generators, PDF editors, and web utilities.","applicationCategory":"UtilityApplication","operatingSystem":"All","offers":{"@type":"Offer","price":"0","priceCurrency":"USD"}}</script>
1<script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script>
1</head><body class="inter_4fd395ef-module__PnPqWa__className antialiased bg-white dark:bg-gray-950 text-gray-900 dark:text-gray-100 min-h-screen flex flex-col transition-colors duration-300 overflow-x-hidden"><div hidden=""><!--$--><!--/$--></div>
1<script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","system",null,["light","dark"],null,true,true)</script>
1<nav class="bg-white dark:bg-gray-950 sticky top-0 z-50 shadow-sm border-b border-gray-100 dark:border-gray-800 transition-colors"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8"><div class="flex justify-between items-center h-20"><div class="flex items-center"><a class="flex items-center gap-2 group" href="/"><div class="bg-blue-600 p-2 rounded-xl text-white shadow-sm group-hover:scale-105 transition-transform"><svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wrench" aria-hidden="true"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z"></path></svg></div><span class="text-2xl font-black tracking-tight text-gray-900 dark:text-white group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">ToolHub</span></a></div><div class="hidden md:flex items-center space-x-8"><a class="font-bold text-[15px] transition-colors text-gray-500 dark:text-gray-400 hover:text-blue-600" href="/">Home</a><a class="font-bold text-[15px] transition-colors text-blue-600" href="/tools">Tools</a><a class="font-bold text-[15px] transition-colors text-gray-500 dark:text-gray-400 hover:text-blue-600" href="/blog">Blog</a><a class="font-bold text-[15px] transition-colors text-gray-500 dark:text-gray-400 hover:text-blue-600" href="/about">About</a><div class="pl-4 flex items-center gap-4"><a class="px-6 py-2.5 bg-gray-900 text-white font-bold rounded-full hover:bg-gray-800 transition-colors text-sm shadow-md hover:shadow-lg hover:-translate-y-0.5" href="/contact">Contact</a><div class="w-9 h-9 rounded-full bg-gray-100 dark:bg-gray-800"></div></div></div><div class="md:hidden flex items-center gap-2"><div class="w-9 h-9 rounded-full bg-gray-100 dark:bg-gray-800"></div><button class="text-gray-700 dark:text-gray-300 p-2 rounded-lg hover:bg-gray-100 dark:bg-gray-800 transition-colors"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-menu w-6 h-6" aria-hidden="true"><path d="M4 5h16"></path><path d="M4 12h16"></path><path d="M4 19h16"></path></svg></button></div></div></div></nav><div class="flex-grow"><div class="min-h-screen bg-transparent"><div class="bg-white dark:bg-gray-900 border-b border-gray-100 dark:border-gray-800 overflow-hidden relative"><div class="absolute top-0 right-0 -translate-y-1/2 translate-x-1/2 w-96 h-96 bg-blue-50 dark:bg-blue-900/10 rounded-full blur-3xl op
1acity-50"></div><div class="absolute bottom-0 left-0 translate-y-1/2 -translate-x-1/2 w-96 h-96 bg-purple-50 dark:bg-purple-900/10 rounded-full blur-3xl opacity-50"></div><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 pt-10 pb-4 sm:pt-16 sm:pb-8 relative z-10"><div class="text-center max-w-3xl mx-auto"><div class="inline-flex items-center gap-2 px-3 py-1 rounded-full bg-blue-50 text-blue-600 text-[10px] font-black uppercase tracking-widest mb-6 border border-blue-100 shadow-sm" style="opacity:0;transform:translateY(20px)"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg>Premium Online Utilities</div><h1 class="text-4xl md:text-6xl font-black text-gray-900 dark:text-gray-100 mb-6 tracking-tight leading-[1.1]" style="opacity:0;transform:translateY(20px)">Everything you need. <br/><span class="bg-gradient-to-r from-blue-600 to-indigo-600 bg-clip-text text-transparent">Fast &amp; Secure.</span></h1><p class="text-lg text-gray-500 dark:text-gray-400 mb-6 sm:mb-10 leading-relaxed font-medium" style="opacity:0;transform:translateY(20px)">No signups. No uploads. 100% browser-native performance.</p><div class="relative max-w-xl mx-auto" style="opacity:0;transform:scale(0.95)"><div class="absolute inset-y-0 left-4 flex items-center pointer-events-none"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search h-5 w-5 text-gray-400" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input type="text" placeholder="Search utilities (e.g. PDF, Image, Word)..." class="w-full pl-12 pr-4 py-5 bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-700 rounded-2xl shadow-2xl shadow-blue-900/5 focus:ring-4 focus:ring-blue-50 outline-none transition-all text-gray-700 dark:text-gray-300 font-bold placeholder:font-medium" value=""/></div></div></div></div><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-4 sm:py-8"><div class="flex flex-col lg:flex-row lg:items-center justify-between gap-4 mb-6 sm:mb-12"><div class="flex flex-wrap items-center gap-1.5 sm:gap-2"><button class="px-4 sm:px-5 py-2.5 rounded-xl text-[10px] sm:text-xs font-black uppercase tracking-widest transition-all cursor-pointer bg-gray-900 text-white shadow-lg shadow-gray-300 dark:bg-gray-100 dark:text-gray-900 dark:shadow-none">All</button><button class="px-4 sm:px-5 py-2.5 rounded-xl text-[10px] sm:text-xs font-black uppercase tracking-widest transition-all cursor-pointer bg-white text-gray-400 hover:bg-gray-50 dark:bg-gray-900 border border-gray-100 dark:border-gray-800 hover:text-gray-900 dark:text-gray-100">AI &amp; Creative</button><button class="px-4 sm:px-5 py-2.5 rounded-xl text-[10px] sm:text-xs font-black uppercase tracking-widest transition-all cursor-pointer bg-white text-gray-400 hover:bg-gray-50 dark:bg-gray-900 border border-gray-100 dark:border-gray-800 hover:text-gray-900 dark:text-gray-100">Image &amp; PDF</button><button class="px-4 sm:px-5 py-2.5 rounded-xl text-[10px] sm:text-xs font-black uppercase tracking-widest transition-all cursor-pointer bg-white text-gray-400 hover:bg-gray-50 dark:bg-gray-900 border border-gray-100 dark:border-gray-800 hover:text-gray-900 dark:text-gray-100">Text &amp; Document</button><button class="px-4 sm:px-5 py-2.5 rounded-xl text-[10px] sm:text-xs font-black uppercase tracking-widest transition-all cursor-pointer bg-white text-gray-400 hover:bg-gray-50 dark:bg-gray-900 border border-gray-100 dark:border-gray-800 hover:text-gray-900 dark:text-gray-100">Developer</button><button class="px-4 sm:px-5 py-2.5 rounded-xl text-[10px] sm:text-xs font-black uppercase tracking-widest transition-all cursor-pointer bg-white text-gray-400 hover:bg-gray-50 dark:bg-gray-900 border border-gray-100 dark:border-gray-800 hover:text-gray-900 dark:text-gray-100">Utilities</button><button class="px-4 sm:px-5 py-2.5 rounded-xl text-[10px] sm:text-xs font-black uppercase tracking-widest transition-all cursor-pointer bg-white text-gray-400 hover:bg-gray-50 dark:bg-gray-900 border border-gray-100 dark:border-gray-800 hover:text-gray-900 dark:text-gray-100">Finance</button></div><div class="flex items-center gap-3 w-full lg:w-auto"><div class="relative flex-grow lg:flex-grow-0"><div class="absolute inset-y-0 left-3 flex items-center pointer-events-none"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search text-gray-400" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></div><input type="text" placeholder="Filter results..." class="w-full lg:w-48 pl-9 pr-3 py-2.5 bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-800 rounded-xl text-xs focus:ring-4 focus:ring-blue-50/50 outline-none transition-all text-gray-700 dark:text-gray-300 font-bold placeholder:font-medium" value=""/></div><div class="hidden md:flex items-center gap-2 text-[10px] font-black uppercase tracking-widest text-gray-400 shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 
11.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg>Explore <!-- -->33<!-- -->+ Utilities</div></div></div><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-8"><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 dark:bg-gray-900 rounded-2xl sm:rounded-3xl border transition-all duration-300 relative h-full group-hover:border-blue-300 dark:group-hover:border-blue-800 group-hover:shadow-[0_20px_50px_rgba(59,130,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl border-amber-300/60 dark:border-amber-600/40 bg-gradient-to-b from-amber-50/10 via-transparent to-transparent shadow-sm" href="/tools/background-remover"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-blue-50 dark:bg-blue-900/20 group-hover:bg-blue-100 dark:group-hover:bg-blue-900/40 text-blue-600 dark:text-blue-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-6 w-6" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gradient-to-r from-amber-500 to-yellow-500 text-white dark:text-amber-950 font-black tracking-widest uppercase text-[8px] rounded-md shadow-sm">🔥 Trending</span><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">🔒 100% Client-Side</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">AI Background Remover</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Remove backgrounds from any image in 1 click using 100% private client-side AI.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-blue-50 dark:bg-blue-950/30 text-blue-600 dark:text-blue-400 border border-blue-100 dark:border-blue-900/50">Image &amp; PDF</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-purple-300 dark:group-hover:border-purple-800 group-hover:shadow-[0_20px_50px_rgba(168,85,247,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/ai-text-assistant"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-purple-50 dark:bg-purple-900/20 group-hover:bg-purple-100 dar
1k:group-hover:bg-purple-900/40 text-purple-600 dark:text-purple-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-6 w-6" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">⚡ Gemini API</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">AI Text Assistant</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Instantly summarize, rewrite, or fix grammar with powerful context-aware AI.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-purple-50 dark:bg-purple-950/30 text-purple-600 dark:text-purple-400 border border-purple-100 dark:border-purple-900/50">AI &amp; Creative</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 dark:bg-gray-900 rounded-2xl sm:rounded-3xl border transition-all duration-300 relative h-full group-hover:border-purple-300 dark:group-hover:border-purple-800 group-hover:shadow-[0_20px_50px_rgba(168,85,247,0.12)] hover:-translate-y-1.5 hover:shadow-xl border-amber-300/60 dark:border-amber-600/40 bg-gradient-to-b from-amber-50/10 via-trans
1parent to-transparent shadow-sm" href="/tools/ai-image-generator"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-purple-50 dark:bg-purple-900/20 group-hover:bg-purple-100 dark:group-hover:bg-purple-900/40 text-purple-600 dark:text-purple-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-palette h-6 w-6" aria-hidden="true"><path d="M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z"></path><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gradient-to-r from-amber-500 to-yellow-500 text-white dark:text-amber-950 font-black tracking-widest uppercase text-[8px] rounded-md shadow-sm">🔥 Trending</span><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">🎨 Fast Generation</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">AI Image Generator</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Create stunning, high-res AI artwork from text prompts in under 5 seconds.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-purple-50 dark:bg-purple-950/30 text-purple-600 dark:text-purple-400 border border-purple-100 dark:border-purple-900/50">AI &amp; Creative</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-purple-300 dark:group-hover:border-purple-800 group-hover:shadow-[0_20px_50px_rgba(168,85,247,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/video-enhancer"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-purple-50 dark:bg-purple-900/20 group-hover:bg-purple-100 dar
1k:group-hover:bg-purple-900/40 text-purple-600 dark:text-purple-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-video h-6 w-6" aria-hidden="true"><path d="m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"></path><rect x="2" y="6" width="14" height="12" rx="2"></rect></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">🎬 100% Local</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">Video Enhancer</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Enhance video quality &amp; apply cinematic filters in real-time.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-purple-50 dark:bg-purple-950/30 text-purple-600 dark:text-purple-400 border border-purple-100 dark:border-purple-900/50">AI &amp; Creative</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-amber-800 group-hover:shadow-[0_20px_50px_rgba(245,158,11,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/password-generator"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-amber-50 dark:bg-amber-900/20 group-hover:bg-amber-100 dark:group-hover:bg-amber-900/40 text-amber-600 dark:text-amber-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lock h-6 w-6" aria-hidden="true"><rect width="18" height="11" x="3" y="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">🔒 100% Private</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dar
1k:group-hover:text-blue-400 transition-colors">Secure Password Generator</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Generate unhackable, secure passwords that never leave your device.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-amber-50 dark:bg-amber-950/30 text-amber-600 dark:text-amber-400 border border-amber-100 dark:border-amber-900/50">Utilities</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-purple-300 dark:group-hover:border-purple-800 group-hover:shadow-[0_20px_50px_rgba(168,85,247,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/glassmorphism-generator"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-purple-50 dark:bg-purple-900/20 group-hover:bg-purple-100 dark:group-hover:bg-purple-900/40 text-purple-600 dark:text-purple-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-6 w-6" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">✨ CSS Assist</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">AI Glassmorphism</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Design stunning frosted-glass CSS styling with smart AI helpers.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-purple-50 dark:bg-purple-950/30 text-purple-600 dar
1k:text-purple-400 border border-purple-100 dark:border-purple-900/50">AI &amp; Creative</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-blue-300 dark:group-hover:border-blue-800 group-hover:shadow-[0_20px_50px_rgba(59,130,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/pdf-to-word"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-blue-50 dark:bg-blue-900/20 group-hover:bg-blue-100 dark:group-hover:bg-blue-900/40 text-blue-600 dark:text-blue-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text h-6 w-6" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">📄 Local Convert</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">PDF to Word Converter</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Convert PDFs to fully editable Word docs in seconds offline.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-blue-50 dark:bg-blue-950/30 text-blue-600 dark:text-blue-400 border border-blue-100 dark:border-blue-900/50">Image &amp; PDF</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)">
1<a class="group flex flex-col p-4 sm:p-6 dark:bg-gray-900 rounded-2xl sm:rounded-3xl border transition-all duration-300 relative h-full group-hover:border-blue-300 dark:group-hover:border-blue-800 group-hover:shadow-[0_20px_50px_rgba(59,130,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl border-amber-300/60 dark:border-amber-600/40 bg-gradient-to-b from-amber-50/10 via-transparent to-transparent shadow-sm" href="/tools/image-compressor"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-blue-50 dark:bg-blue-900/20 group-hover:bg-blue-100 dark:group-hover:bg-blue-900/40 text-blue-600 dark:text-blue-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image h-6 w-6" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect><circle cx="9" cy="9" r="2"></circle><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gradient-to-r from-amber-500 to-yellow-500 text-white dark:text-amber-950 font-black tracking-widest uppercase text-[8px] rounded-md shadow-sm">🔥 Trending</span><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">📉 offline ready</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">Image Compressor</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Shrink image file sizes up to 80% without losing visual quality.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-blue-50 dark:bg-blue-950/30 text-blue-600 dark:text-blue-400 border border-blue-100 dark:border-blue-900/50">Image &amp; PDF</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-blue-300 dark:group-hover:border-blue-800 group-hover:shadow-[0_20px_50px_rgba(59,130,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/image-resizer"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-blue-50 dark:bg-blue-900/20 group-hover:bg-blue-100 dar
1k:group-hover:bg-blue-900/40 text-blue-600 dark:text-blue-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image h-6 w-6" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect><circle cx="9" cy="9" r="2"></circle><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">📏 Safe Image Resize</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">Image Resizer</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Instantly resize images to custom dimensions for social or web.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-blue-50 dark:bg-blue-950/30 text-blue-600 dark:text-blue-400 border border-blue-100 dark:border-blue-900/50">Image &amp; PDF</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 dark:bg-gray-900 rounded-2xl sm:rounded-3xl border transition-all duration-300 relative h-full group-hover:border-blue-300 dark:group-hover:border-blue-800 group-hover:shadow-[0_20px_50px_rgba(59,130,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl border-amber-300/60 dark:border-amber-600/40 bg-gradient-to-b from-amber-50/10 via-trans
1parent to-transparent shadow-sm" href="/tools/pdf-merger"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-blue-50 dark:bg-blue-900/20 group-hover:bg-blue-100 dark:group-hover:bg-blue-900/40 text-blue-600 dark:text-blue-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text h-6 w-6" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gradient-to-r from-amber-500 to-yellow-500 text-white dark:text-amber-950 font-black tracking-widest uppercase text-[8px] rounded-md shadow-sm">🔥 Trending</span><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">🔗 local execution</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">PDF Merger</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Merge multiple PDF files into one clean doc in one click.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-blue-50 dark:bg-blue-950/30 text-blue-600 dark:text-blue-400 border border-blue-100 dark:border-blue-900/50">Image &amp; PDF</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-emerald-300 dark:group-hover:border-emerald-800 group-hover:shadow-[0_20px_50px_rgba(16,185,129,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/text-to-document"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-emerald-50 dark:bg-emerald-900/20 group-hover:bg-emerald-100 dark:group-hover:bg-emerald-900/40 text-emerald-600 dark:text-emerald-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text h-6 w-6" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">📝 private document</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dar
1k:group-hover:text-blue-400 transition-colors">Text to PDF/Word Converter</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Transform raw text into polished, download-ready PDF or Word docs.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-emerald-50 dark:bg-emerald-950/30 text-emerald-600 dark:text-emerald-400 border border-emerald-100 dark:border-emerald-900/50">Text &amp; Document</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 dark:bg-gray-900 rounded-2xl sm:rounded-3xl border transition-all duration-300 relative h-full group-hover:border-amber-800 group-hover:shadow-[0_20px_50px_rgba(245,158,11,0.12)] hover:-translate-y-1.5 hover:shadow-xl border-amber-300/60 dark:border-amber-600/40 bg-gradient-to-b from-amber-50/10 via-trans
1parent to-transparent shadow-sm" href="/tools/qr-generator"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-amber-50 dark:bg-amber-900/20 group-hover:bg-amber-100 dark:group-hover:bg-amber-900/40 text-amber-600 dark:text-amber-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-qr-code h-6 w-6" aria-hidden="true"><rect width="5" height="5" x="3" y="3" rx="1"></rect><rect width="5" height="5" x="16" y="3" rx="1"></rect><rect width="5" height="5" x="3" y="16" rx="1"></rect><path d="M21 16h-3a2 2 0 0 0-2 2v3"></path><path d="M21 21v.01"></path><path d="M12 7v3a2 2 0 0 1-2 2H7"></path><path d="M3 12h.01"></path><path d="M12 3h.01"></path><path d="M12 16v.01"></path><path d="M16 12h1"></path><path d="M21 12v.01"></path><path d="M12 21v-1"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gradient-to-r from-amber-500 to-yellow-500 text-white dark:text-amber-950 font-black tracking-widest uppercase text-[8px] rounded-md shadow-sm">🔥 Trending</span><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">📱 generated offline</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">QR Code Generator</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Create vibrant, custom QR codes for links, text, or WiFi.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-amber-50 dark:bg-amber-950/30 text-amber-600 dark:text-amber-400 border border-amber-100 dark:border-amber-900/50">Utilities</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-emerald-300 dark:group-hover:border-emerald-800 group-hover:shadow-[0_20px_50px_rgba(16,185,129,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/word-counter"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-emerald-50 dark:bg-emerald-900/20 group-hover:bg-emerald-100 dark:group-hover:bg-emerald-900/40 text-emerald-600 dark:text-emerald-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-type h-6 w-6" aria-hidden="true"><path d="M12 4v16"></path><path d="M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2"></path><path d="M9 20h6"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">📊 no data logs</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dar
1k:group-hover:text-blue-400 transition-colors">Word Counter</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Calculate exact word count, character count, and reading time instantly.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-emerald-50 dark:bg-emerald-950/30 text-emerald-600 dark:text-emerald-400 border border-emerald-100 dark:border-emerald-900/50">Text &amp; Document</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-violet-300 dark:group-hover:border-violet-800 group-hover:shadow-[0_20px_50px_rgba(139,92,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/code-to-image"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-violet-50 dark:bg-violet-900/20 group-hover:bg-violet-100 dark:group-hover:bg-violet-900/40 text-violet-600 dark:text-violet-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code h-6 w-6" aria-hidden="true"><path d="m16 18 6-6-6-6"></path><path d="m8 6-6 6 6 6"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">💻 high quality output</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">Code to Image</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Turn raw code into beautiful, ready-to-share screenshots.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-violet-50 dark:bg-violet-950/30 text-violet-600 dar
1k:text-violet-400 border border-violet-100 dark:border-violet-900/50">Developer</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-violet-300 dark:group-hover:border-violet-800 group-hover:shadow-[0_20px_50px_rgba(139,92,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/json-formatter"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-violet-50 dark:bg-violet-900/20 group-hover:bg-violet-100 dark:group-hover:bg-violet-900/40 text-violet-600 dark:text-violet-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-braces h-6 w-6" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1"></path><path d="M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">🔍 formatted locally</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">JSON Formatter</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Validate, prettify, or compress messy JSON code instantly.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-violet-50 dark:bg-violet-950/30 text-violet-600 dark:text-violet-400 border border-violet-100 dark:border-violet-900/50">Developer</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-blue-300 dark:group-hover:border-blue-800 group-hover:shadow-[0_20px_50px_rgba(59,130,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/favicon-generator"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-blue-50 dark:bg-blue-900/20 group-hover:bg-blue-100 dar
1k:group-hover:bg-blue-900/40 text-blue-600 dark:text-blue-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-package h-6 w-6" aria-hidden="true"><path d="M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"></path><path d="M12 22V12"></path><polyline points="3.29 7 12 12 20.71 7"></polyline><path d="m7.5 4.27 9 5.15"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">📦 Zip package download</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">Favicon Generator</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Generate a complete multi-format favicon pack from a single image.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-blue-50 dark:bg-blue-950/30 text-blue-600 dark:text-blue-400 border border-blue-100 dark:border-blue-900/50">Image &amp; PDF</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-violet-300 dark:group-hover:border-violet-800 group-hover:shadow-[0_20px_50px_rgba(139,92,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/svg-optimizer"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-violet-50 dark:bg-violet-900/20 group-hover:bg-violet-100 dark:group-hover:bg-violet-900/40 text-violet-600 dark:text-violet-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap h-6 w-6" aria-hidden="true"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">⚡ fast optimization</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dar
1k:group-hover:text-blue-400 transition-colors">SVG Optimizer</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Shrink SVG file sizes by purging redundant code and paths.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-violet-50 dark:bg-violet-950/30 text-violet-600 dark:text-violet-400 border border-violet-100 dark:border-violet-900/50">Developer</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-blue-300 dark:group-hover:border-blue-800 group-hover:shadow-[0_20px_50px_rgba(59,130,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/color-palette"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-blue-50 dark:bg-blue-900/20 group-hover:bg-blue-100 dark:group-hover:bg-blue-900/40 text-blue-600 dark:text-blue-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-palette h-6 w-6" aria-hidden="true"><path d="M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z"></path><circle cx="13.5" cy="6.5" r=".5" fill="currentColor"></circle><circle cx="17.5" cy="10.5" r=".5" fill="currentColor"></circle><circle cx="6.5" cy="12.5" r=".5" fill="currentColor"></circle><circle cx="8.5" cy="7.5" r=".5" fill="currentColor"></circle></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">🎨 instant extract</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">Color Palette Extractor</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Extract a gorgeous, matching color palette directly from any image.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-blue-50 dark:bg-blue-950/30 text-blue-600 dar
1k:text-blue-400 border border-blue-100 dark:border-blue-900/50">Image &amp; PDF</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-amber-800 group-hover:shadow-[0_20px_50px_rgba(245,158,11,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/unit-converter"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-amber-50 dark:bg-amber-900/20 group-hover:bg-amber-100 dark:group-hover:bg-amber-900/40 text-amber-600 dark:text-amber-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right-left h-6 w-6" aria-hidden="true"><path d="m16 3 4 4-4 4"></path><path d="M20 7H4"></path><path d="m8 21-4-4 4-4"></path><path d="M4 17h16"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">⚙️ accurate convert</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">Unit Converter</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Quickly convert between weight, length, temperature, and data units.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-amber-50 dark:bg-amber-950/30 text-amber-600 dark:text-amber-400 border border-amber-100 dark:border-amber-900/50">Utilities</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-violet-300 dark:group-hover:border-violet-800 group-hover:shadow-[0_20px_50px_rgba(139,92,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/regex-tester"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-vi
1olet-50 dark:bg-violet-900/20 group-hover:bg-violet-100 dark:group-hover:bg-violet-900/40 text-violet-600 dark:text-violet-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search-code h-6 w-6" aria-hidden="true"><path d="m13 13.5 2-2.5-2-2.5"></path><path d="m21 21-4.3-4.3"></path><path d="M9 8.5 7 11l2 2.5"></path><circle cx="11" cy="11" r="8"></circle></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">🔍 secure testing</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">Regex Tester</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Draft, test, and debug complex regular expressions with real-time explainers.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-violet-50 dark:bg-violet-950/30 text-violet-600 dark:text-violet-400 border border-violet-100 dark:border-violet-900/50">Developer</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-purple-300 dark:group-hover:border-purple-800 group-hover:shadow-[0_20px_50px_rgba(168,85,247,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/device-mockup"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-purple-50 dark:bg-purple-900/20 group-hover:bg-purple-100 dark:group-hover:bg-purple-900/40 text-purple-600 dark:text-purple-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-box h-6 w-6" aria-hidden="true"><path d="M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z"></path><path d="m3.3 7 8.7 5 8.7-5"></path><path d="M12 22V12"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">🖥️ web-native 3D</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dar
1k:group-hover:text-blue-400 transition-colors">3D Device Mockup</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Wrap your app screenshots in gorgeous, interactive 3D device models.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-purple-50 dark:bg-purple-950/30 text-purple-600 dark:text-purple-400 border border-purple-100 dark:border-purple-900/50">AI &amp; Creative</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-purple-300 dark:group-hover:border-purple-800 group-hover:shadow-[0_20px_50px_rgba(168,85,247,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/font-extruder"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-purple-50 dark:bg-purple-900/20 group-hover:bg-purple-100 dark:group-hover:bg-purple-900/40 text-purple-600 dark:text-purple-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-type h-6 w-6" aria-hidden="true"><path d="M12 4v16"></path><path d="M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2"></path><path d="M9 20h6"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">🔤 direct export</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">3D Font Extruder</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Convert any custom text or logos into gorgeous 3D models.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-purple-50 dark:bg-purple-950/30 text-purple-600 dar
1k:text-purple-400 border border-purple-100 dark:border-purple-900/50">AI &amp; Creative</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-purple-300 dark:group-hover:border-purple-800 group-hover:shadow-[0_20px_50px_rgba(168,85,247,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/isometric-avatar"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-purple-50 dark:bg-purple-900/20 group-hover:bg-purple-100 dark:group-hover:bg-purple-900/40 text-purple-600 dark:text-purple-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-6 w-6" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">👤 vector ready</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">Isometric Avatar</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Build custom, high-resolution 3D isometric avatars for profiles.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-purple-50 dark:bg-purple-950/30 text-purple-600 dark:text-purple-400 border border-purple-100 dark:border-purple-900/50">AI &amp; Creative</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-purple-300 dark:group-hover:border-purple-800 group-hover:shadow-[0_20px_50px_rgba(168,85,247,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/model-viewer"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-purple-50 dark:bg-purple-900/20 group-hover:bg-purple-100 dar
1k:group-hover:bg-purple-900/40 text-purple-600 dark:text-purple-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-package h-6 w-6" aria-hidden="true"><path d="M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"></path><path d="M12 22V12"></path><polyline points="3.29 7 12 12 20.71 7"></polyline><path d="m7.5 4.27 9 5.15"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">👁️ GLTF / OBJ ready</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">3D Model Viewer</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Examine and interact with GLTF or OBJ 3D files inside your browser.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-purple-50 dark:bg-purple-950/30 text-purple-600 dark:text-purple-400 border border-purple-100 dark:border-purple-900/50">AI &amp; Creative</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-blue-300 dark:group-hover:border-blue-800 group-hover:shadow-[0_20px_50px_rgba(59,130,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/image-to-pdf"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-blue-50 dark:bg-blue-900/20 group-hover:bg-blue-100 dark:group-hover:bg-blue-900/40 text-blue-600 dark:text-blue-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-file-text h-6 w-6" aria-hidden="true"><path d="M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z"></path><path d="M14 2v5a1 1 0 0 0 1 1h5"></path><path d="M10 9H8"></path><path d="M16 13H8"></path><path d="M16 17H8"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">📂 structured layout</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dar
1k:group-hover:text-blue-400 transition-colors">Image to PDF</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Convert images to an organized, high-quality PDF document instantly.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-blue-50 dark:bg-blue-950/30 text-blue-600 dark:text-blue-400 border border-blue-100 dark:border-blue-900/50">Image &amp; PDF</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-blue-300 dark:group-hover:border-blue-800 group-hover:shadow-[0_20px_50px_rgba(59,130,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/image-converter"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-blue-50 dark:bg-blue-900/20 group-hover:bg-blue-100 dark:group-hover:bg-blue-900/40 text-blue-600 dark:text-blue-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-image h-6 w-6" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect><circle cx="9" cy="9" r="2"></circle><path d="m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">🔄 batch conversion</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">Image Converter</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Batch convert images between PNG, JPG, and WebP formats instantly.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-blue-50 dark:bg-blue-950/30 text-blue-600 dar
1k:text-blue-400 border border-blue-100 dark:border-blue-900/50">Image &amp; PDF</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-purple-300 dark:group-hover:border-purple-800 group-hover:shadow-[0_20px_50px_rgba(168,85,247,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/neumorphic-playground"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-purple-50 dark:bg-purple-900/20 group-hover:bg-purple-100 dark:group-hover:bg-purple-900/40 text-purple-600 dark:text-purple-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap h-6 w-6" aria-hidden="true"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">🕶️ direct CSS copy</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">Neumorphic Soft-UI</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Craft beautiful neumorphic CSS shadows and borders interactively.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-purple-50 dark:bg-purple-950/30 text-purple-600 dark:text-purple-400 border border-purple-100 dark:border-purple-900/50">AI &amp; Creative</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)">
1<a class="group flex flex-col p-4 sm:p-6 dark:bg-gray-900 rounded-2xl sm:rounded-3xl border transition-all duration-300 relative h-full group-hover:border-green-800 group-hover:shadow-[0_20px_50px_rgba(34,197,94,0.12)] hover:-translate-y-1.5 hover:shadow-xl border-amber-300/60 dark:border-amber-600/40 bg-gradient-to-b from-amber-50/10 via-transparent to-transparent shadow-sm" href="/tools/emi-calculator"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-green-50 dark:bg-green-900/20 group-hover:bg-green-100 dark:group-hover:bg-green-900/40 text-green-600 dark:text-green-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-calculator h-6 w-6" aria-hidden="true"><rect width="16" height="20" x="4" y="2" rx="2"></rect><line x1="8" x2="16" y1="6" y2="6"></line><line x1="16" x2="16" y1="14" y2="18"></line><path d="M16 10h.01"></path><path d="M12 10h.01"></path><path d="M8 10h.01"></path><path d="M12 14h.01"></path><path d="M8 14h.01"></path><path d="M12 18h.01"></path><path d="M8 18h.01"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gradient-to-r from-amber-500 to-yellow-500 text-white dark:text-amber-950 font-black tracking-widest uppercase text-[8px] rounded-md shadow-sm">🔥 Trending</span><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">📈 accurate amortization</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">EMI Calculator</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Simulate loan EMIs, interest breakdowns, and amortization tables.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-green-50 dark:bg-green-950/30 text-green-600 dark:text-green-400 border border-green-100 dark:border-green-900/50">Finance</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-violet-300 dark:group-hover:border-violet-800 group-hover:shadow-[0_20px_50px_rgba(139,92,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/jwt-decoder"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-vi
1olet-50 dark:bg-violet-900/20 group-hover:bg-violet-100 dark:group-hover:bg-violet-900/40 text-violet-600 dark:text-violet-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-lock h-6 w-6" aria-hidden="true"><rect width="18" height="11" x="3" y="11" rx="2" ry="2"></rect><path d="M7 11V7a5 5 0 0 1 10 0v4"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">🔑 secure decode</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">JWT Decoder</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Decode and inspect inside JSON Web Tokens safely on your device.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-violet-50 dark:bg-violet-950/30 text-violet-600 dark:text-violet-400 border border-violet-100 dark:border-violet-900/50">Developer</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-emerald-300 dark:group-hover:border-emerald-800 group-hover:shadow-[0_20px_50px_rgba(16,185,129,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/text-formatter"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-emerald-50 dark:bg-emerald-900/20 group-hover:bg-emerald-100 dark:group-hover:bg-emerald-900/40 text-emerald-600 dark:text-emerald-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-type h-6 w-6" aria-hidden="true"><path d="M12 4v16"></path><path d="M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2"></path><path d="M9 20h6"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">✂️ instant clean</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dar
1k:group-hover:text-blue-400 transition-colors">Text Formatter</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Instantly clean line breaks, fix spaces, and format messy text.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-emerald-50 dark:bg-emerald-950/30 text-emerald-600 dark:text-emerald-400 border border-emerald-100 dark:border-emerald-900/50">Text &amp; Document</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-green-800 group-hover:shadow-[0_20px_50px_rgba(34,197,94,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/sip-calculator"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-green-50 dark:bg-green-900/20 group-hover:bg-green-100 dark:group-hover:bg-green-900/40 text-green-600 dark:text-green-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-trending-up h-6 w-6" aria-hidden="true"><path d="M16 7h6v6"></path><path d="m22 7-8.5 8.5-5-5L2 17"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">💸 wealth projections</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">SIP Calculator</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Project your compounding wealth and returns from SIP investments.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-green-50 dark:bg-green-950/30 text-green-600 dark:text-green-400 border border-green-100 dark:border-green-900/50">Finance</span>
1<div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-violet-300 dark:group-hover:border-violet-800 group-hover:shadow-[0_20px_50px_rgba(139,92,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/websocket-tester"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-violet-50 dark:bg-violet-900/20 group-hover:bg-violet-100 dark:group-hover:bg-violet-900/40 text-violet-600 dark:text-violet-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-plug h-6 w-6" aria-hidden="true"><path d="M12 22v-5"></path><path d="M15 8V2"></path><path d="M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z"></path><path d="M9 8V2"></path></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">🔌 secure debug</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">WebSocket Tester</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Debug live WebSocket connections with message history tracking.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-violet-50 dark:bg-violet-950/30 text-violet-600 dark:text-violet-400 border border-violet-100 dark:border-violet-900/50">Developer</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div><div style="opacity:0;transform:scale(0.95)"><a class="group flex flex-col p-4 sm:p-6 bg-white dark:bg-gray-900 rounded-2xl sm:rounded-3xl border border-gray-100 dark:border-gray-800 transition-all duration-300 relative h-full group-hover:border-blue-300 dark:group-hover:border-blue-800 group-hover:shadow-[0_20px_50px_rgba(59,130,246,0.12)] hover:-translate-y-1.5 hover:shadow-xl" href="/tools/live-pdf-editor"><div class="flex justify-between items-start gap-2 w-full mb-3"><div class="flex items-start gap-3 sm:gap-4 flex-1 min-w-0"><div class="p-2.5 sm:p-3.5 rounded-2xl transition-all duration-300 bg-blue-50 dark:bg-blue-900/20 group-hover:bg-blue-100 dar
1k:group-hover:bg-blue-900/40 text-blue-600 dark:text-blue-400"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pen-tool h-6 w-6" aria-hidden="true"><path d="M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z"></path><path d="m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18"></path><path d="m2.3 2.3 7.286 7.286"></path><circle cx="11" cy="11" r="2"></circle></svg></div><div class="flex flex-col flex-1 min-w-0 justify-center"><div class="flex flex-wrap items-center gap-1.5 mb-1.5"><span class="px-2 py-0.5 bg-gray-50 dark:bg-gray-800 text-gray-500 dark:text-gray-400 font-semibold tracking-wide text-[8px] rounded-md border border-gray-100 dark:border-gray-800">✏️ client-side draw</span></div><h3 class="text-base sm:text-xl font-extrabold text-gray-900 dark:text-gray-100 tracking-tight leading-tight group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors">Live PDF Annotator</h3></div></div><button class="p-1.5 sm:p-2 rounded-full transition-all border shrink-0 bg-white dark:bg-gray-900 border-gray-100 dark:border-gray-800 text-gray-300 hover:text-yellow-500 hover:bg-yellow-50"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-star w-3.5 h-3.5" aria-hidden="true"><path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"></path></svg></button></div><p class="text-gray-500 dark:text-gray-400 text-xs sm:text-sm mb-5 font-medium leading-relaxed line-clamp-2 flex-grow">Read, markup, and redact PDF documents securely without uploads.</p><div class="flex items-center justify-between pt-4 border-t border-gray-100 dark:border-gray-800 mt-auto"><span class="px-2.5 py-1 rounded-lg text-[9px] font-black uppercase tracking-widest leading-none bg-blue-50 dark:bg-blue-950/30 text-blue-600 dark:text-blue-400 border border-blue-100 dark:border-blue-900/50">Image &amp; PDF</span><div class="flex items-center gap-1.5 text-blue-600 dark:text-blue-400 font-extrabold text-[10px] uppercase tracking-widest group-hover:translate-x-1 transition-transform">Launch Tool<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></div></div></a></div></div></div></div><!--$--><!--/$--></div><footer class="bg-gray-50 dark:bg-gray-900 border-t border-gray-200 dark:border-gray-700 mt-auto"><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12"><div class="grid grid-cols-1 md:grid-cols-4 gap-8"><div class="col-span-1 md:col-span-1"><span class="font-bold text-xl tracking-tight text-gray-900 dark:text-gray-100">Tool<span class="text-blue-600">Hub</span></span><p class="mt-4 text-sm text-gray-500 dark:text-gray-400">Free, fast, and secure online tools for everyday tasks. No installation required.</p></div><div><h3 class="text-sm font-semibold text-gray-900 dark:text-gray-100 uppercase tracking-wider">Tools</h3><ul class="mt-4 space-y-2.5"><li><a class="text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors" href="/tools/background-remover">AI Background Remover</a></li><li><a class="text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors" href="/tools/ai-image-generator">AI Image Generator</a></li><li><a class="text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors" href="/tools/video-enhancer">Video Enhancer</a></li><li><a class="text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors" href="/tools/image-compressor">Image Compressor</a></li><li><a class="text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors" href="/tools/pdf-merger">PDF Merger</a></li><li><a class="text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors" href="/tools/qr-generator">QR Code Generator</a></li><li><a class="text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors" href="/tools/emi-calculator">EMI Calculator</a></li><li><a class="text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors" href="/tools/device-mockup">3D Device Mockup</a></li><li><a class="text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors" href="/tools/password-generator">Secure Password Generator</a></li><li class="pt-2 border-t border-gray-200 dark:border-gray-800">
1<a class="text-sm font-semibold text-blue-600 dark:text-blue-400 hover:underline" href="/tools">Explore All Tools →</a></li></ul></div><div><h3 class="text-sm font-semibold text-gray-900 dark:text-gray-100 uppercase tracking-wider">Company</h3><ul class="mt-4 space-y-3"><li><a class="text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600" href="/about">About Us</a></li><li><a class="text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600" href="/contact">Contact</a></li><li><a class="text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600" href="/blog">Blog</a></li></ul></div><div><h3 class="text-sm font-semibold text-gray-900 dark:text-gray-100 uppercase tracking-wider">Legal</h3><ul class="mt-4 space-y-3"><li><a class="text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600" href="/privacy">Privacy Policy</a></li><li><a class="text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600" href="/terms">Terms of Service</a></li><li><a class="text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600" href="/cookie-policy">Cookie Policy</a></li></ul></div></div><div class="mt-12 pt-8 border-t border-gray-200 dark:border-gray-700"><p class="text-sm text-gray-400 text-center md:text-left">© <!-- -->2026<!-- --> ToolHub. All rights reserved.</p></div></div></footer>
1<script src="/_next/static/chunks/9debf91b07c546f1.js" id="_R_" async=""></script>
1<script>(self.__next_f=self.__next_f||[]).push([0])</script>
1<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[59919,[\"/_next/static/chunks/0c5aaa4757e3a53e.js\",\"/_next/static/chunks/29566e0f928300a5.js\",\"/_next/static/chunks/2462898c45f5385f.js\"],\"ThemeProvider\"]\n4:I[45678,[\"/_next/static/chunks/0c5aaa4757e3a53e.js\",\"/_next/static/chunks/29566e0f928300a5.js\",\"/_next/static/chunks/2462898c45f5385f.js\"],\"default\"]\n5:I[39756,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n6:I[37457,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"default\"]\n10:I[68027,[],\"default\"]\n:HL[\"/_next/static/chunks/b5c495dae89803de.css\",\"style\"]\n:HL[\"/_next/static/chunks/3ced6996eea929cf.css\",\"style\"]\n:HL[\"/_next/static/media/406d3fc8d5ec9f59-s.p.3f4cab70.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/4c424024f2f05495-s.p.be897489.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/a624dffa201843ff-s.p.91936907.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/a85fe84266768609-s.p.e658778d.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n2:T4ab,default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline' blob: https://www.googletagmanager.com https://static.cloudflareinsights.com https://cdn.jsdelivr.net; worker-src 'self' blob:; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' blob: data: https://*.pollinations.ai https://*.googleusercontent.com https://*.google-analytics.com https://analytics.google.com https://*.google.com https://*.google.co.in https://transparenttextures.com; connect-src 'self' blob: https://*.pollinations.ai https://www.google.com https://google.com https://www.google.co.in https://google.co.in https://*.google.co.in https://raw.githack.com https://raw.githubusercontent.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://cloudflareinsights.com https://static.cloudflareinsights.com https://stats.g.doubleclick.net https://huggingface.co https://*.huggingface.co https://*.hf.co https://cdn.jsdelivr.net https://www.googletagmanager.com https://fonts.googleapis.com https://fonts.gstatic.com; media-src 'self' blob: https://storage.googleapis.com; upgrade-insecure-requests;"])</script>
1<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"NEsvujw_aOGLB6cJfhuaA\",\"c\":[\"\",\"tools\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"tools\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/b5c495dae89803de.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/3ced6996eea929cf.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/0c5aaa4757e3a53e.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/29566e0f928300a5.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/2462898c45f5385f.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"inter_4fd395ef-module__PnPqWa__variable caveat_90f3ff5f-module__-2ikKG__variable dancing_script_f8c06b0a-module__eLwrRa__variable pacifico_37f0235d-module__3Sqpnq__variable satisfy_8478c3e8-module__bNpdrW__variable\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"meta\",null,{\"httpEquiv\":\"Content-Security-Policy\",\"content\":\"$2\"}],[\"$\",\"script\",null,{\"type\":\"application/ld+json\",\"dangerouslySetInnerHTML\":{\"__html\":\"{\\\"@context\\\":\\\"https://schema.org\\\",\\\"@type\\\":\\\"WebApplication\\\",\\\"name\\\":\\\"ToolHub\\\",\\\"url\\\":\\\"https://toolhub-4dn.pages.dev\\\",\\\"description\\\":\\\"Premium collection of 30+ free, secure online tools including AI generators, PDF editors, and web utilities.\\\",\\\"applicationCategory\\\":\\\"UtilityApplication\\\",\\\"operatingSystem\\\":\\\"All\\\",\\\"offers\\\":{\\\"@type\\\":\\\"Offer\\\",\\\"price\\\":\\\"0\\\",\\\"priceCurrency\\\":\\\"USD\\\"}}\"}}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-touch-icon.png\"}]]}],[\"$\",\"body\",null,{\"suppressHydrationWarning\":true,\"className\":\"inter_4fd395ef-module__PnPqWa__className antialiased bg-white dark:bg-gray-950 text-gray-900 dark:text-gray-100 min-h-screen flex flex-col transition-colors duration-300 overflow-x-hidden\",\"children\":[[\"$\",\"$L3\",null,{\"attribute\":\"class\",\"defaultTheme\":\"system\",\"enableSystem\":true,\"children\":[[\"$\",\"$L4\",null,{}],[\"$\",\"div\",null,{\"className\":\"flex-grow\",\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":\"$L7\"}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],\"$L8\",\"$L9\"]}],\"$La\",\"$Lb\",\"$Lc\"]}]]}]]}],{\"children\":[\"$Ld\",{\"children\":[\"$Le\",{},null,false,false]},null,false,false]},null,false,false],\"$Lf\",false]],\"m\":\"$undefined\",\"G\":[\"$10\",[]],\"S\":true}\n"])</script>
1<script>self.__next_f.push([1,"11:I[22016,[\"/_next/static/chunks/0c5aaa4757e3a53e.js\",\"/_next/static/chunks/29566e0f928300a5.js\",\"/_next/static/chunks/2462898c45f5385f.js\"],\"\"]\n14:I[87136,[\"/_next/static/chunks/0c5aaa4757e3a53e.js\",\"/_next/static/chunks/29566e0f928300a5.js\",\"/_next/static/chunks/2462898c45f5385f.js\"],\"default\"]\n15:I[79520,[\"/_next/static/chunks/0c5aaa4757e3a53e.js\",\"/_next/static/chunks/29566e0f928300a5.js\",\"/_next/static/chunks/2462898c45f5385f.js\"],\"\"]\n17:I[47257,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"ClientPageRoot\"]\n18:I[12464,[\"/_next/static/chunks/0c5aaa4757e3a53e.js\",\"/_next/static/chunks/29566e0f928300a5.js\",\"/_next/static/chunks/2462898c45f5385f.js\",\"/_next/static/chunks/5aa05c829c7b1b61.js\"],\"default\"]\n1b:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"OutletBoundary\"]\n1c:\"$Sreact.suspense\"\n1e:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"ViewportBoundary\"]\n20:I[97367,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"MetadataBoundary\"]\n7:[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]\n"])</script>
1<script>self.__next_f.push([1,"8:[\"$\",\"footer\",null,{\"className\":\"bg-gray-50 dark:bg-gray-900 border-t border-gray-200 dark:border-gray-700 mt-auto\",\"children\":[\"$\",\"div\",null,{\"className\":\"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"grid grid-cols-1 md:grid-cols-4 gap-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"col-span-1 md:col-span-1\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-bold text-xl tracking-tight text-gray-900 dark:text-gray-100\",\"children\":[\"Tool\",[\"$\",\"span\",null,{\"className\":\"text-blue-600\",\"children\":\"Hub\"}]]}],[\"$\",\"p\",null,{\"className\":\"mt-4 text-sm text-gray-500 dark:text-gray-400\",\"children\":\"Free, fast, and secure online tools for everyday tasks. No installation required.\"}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-sm font-semibold text-gray-900 dark:text-gray-100 uppercase tracking-wider\",\"children\":\"Tools\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 space-y-2.5\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/tools/background-remover\",\"className\":\"text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors\",\"children\":\"AI Background Remover\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/tools/ai-image-generator\",\"className\":\"text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors\",\"children\":\"AI Image Generator\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/tools/video-enhancer\",\"className\":\"text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors\",\"children\":\"Video Enhancer\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/tools/image-compressor\",\"className\":\"text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors\",\"children\":\"Image Compressor\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/tools/pdf-merger\",\"className\":\"text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors\",\"children\":\"PDF Merger\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/tools/qr-generator\",\"className\":\"text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors\",\"children\":\"QR Code Generator\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/tools/emi-calculator\",\"className\":\"text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors\",\"children\":\"EMI Calculator\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/tools/device-mockup\",\"className\":\"text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors\",\"children\":\"3D Device Mockup\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/tools/password-generator\",\"className\":\"text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600 transition-colors\",\"children\":\"Secure Password Generator\"}]}],[\"$\",\"li\",null,{\"className\":\"pt-2 border-t border-gray-200 dark:border-gray-800\",\"children\":[\"$\",\"$L11\",null,{\"href\":\"/tools\",\"className\":\"text-sm font-semibold text-blue-600 dark:text-blue-400 hover:underline\",\"children\":\"Explore All Tools →\"}]}]]}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-sm font-semibold text-gray-900 dark:text-gray-100 uppercase tracking-wider\",\"children\":\"Company\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 space-y-3\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/about\",\"className\":\"text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600\",\"children\":\"About Us\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/contact\",\"className\":\"text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600\",\"children\":\"Contact\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/blog\",\"className\":\"text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600\",\"children\":\"Blog\"}]}]]}]]}],[\"$\",\"div\",null,{\"children\":[[\"$\",\"h3\",null,{\"className\":\"text-sm font-semibold text-gray-900 dark:text-gray-100 uppercase tracking-wider\",\"children\":\"Legal\"}],[\"$\",\"ul\",null,{\"className\":\"mt-4 space-y-3\",\"children\":[[\"$\",\"li\",null,{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/privacy\",\"className\":\"text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600\",\"children\":\"Privacy Policy\"}]}],[\"$\",\"li\",null,{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/terms\",\"className\":\"text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600\",\"children\":\"Terms of Service\"}]}],\"$L12\"]}]]}]]}],\"$L13\"]}]}]\n"])</script>
1<script>self.__next_f.push([1,"9:[\"$\",\"$L14\",null,{}]\na:[\"$\",\"$L15\",null,{\"src\":\"https://www.googletagmanager.com/gtag/js?id=G-6BRY680ECE\",\"strategy\":\"lazyOnload\"}]\nb:[\"$\",\"$L15\",null,{\"id\":\"google-analytics\",\"strategy\":\"afterInteractive\",\"children\":\"\\n            window.dataLayer = window.dataLayer || [];\\n            function gtag(){window.dataLayer.push(arguments);}\\n            gtag('js', new Date());\\n            gtag('config', 'G-6BRY680ECE');\\n          \"}]\n16:T40a,\n            if ('serviceWorker' in navigator) {\n              window.addEventListener('load', function() {\n                navigator.serviceWorker.register('/sw.js').then(function(reg) {\n                  console.log('SW Registered');\n\n                  // If there's an updated worker waiting, show the update prompt\n                  if (reg.waiting) {\n                    window.dispatchEvent(new Event('swUpdated'));\n                  }\n\n                  reg.addEventListener('updatefound', () =\u003e {\n                    const newWorker = reg.installing;\n                    newWorker.addEventListener('statechange', () =\u003e {\n                      if (newWorker.state === 'installed' \u0026\u0026 navigator.serviceWorker.controller) {\n                        window.dispatchEvent(new Event('swUpdated'));\n                      }\n                    });\n                  });\n                }).catch(function(err) {\n                  console.log('SW Registration failed:', err);\n                });\n              });\n            }\n          c:[\"$\",\"$L15\",null,{\"id\":\"register-sw\",\"strategy\":\"afterInteractive\",\"children\":\"$16\"}]\nd:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\ne:[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L17\",null,{\"Component\":\"$18\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@19\",\"$@1a\"]}}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/5aa05c829c7b1b61.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L1b\",null,{\"children\":[\"$\",\"$1c\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@1d\"}]}]]}]\nf:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L1e\",null,{\"children\":\"$L1f\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L20\",null,{\"children\":[\"$\",\"$1c\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L21\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script>
1<script>self.__next_f.push([1,"12:[\"$\",\"li\",null,{\"children\":[\"$\",\"$L11\",null,{\"href\":\"/cookie-policy\",\"className\":\"text-sm text-gray-600 dark:text-gray-400 hover:text-blue-600\",\"children\":\"Cookie Policy\"}]}]\n13:[\"$\",\"div\",null,{\"className\":\"mt-12 pt-8 border-t border-gray-200 dark:border-gray-700\",\"children\":[\"$\",\"p\",null,{\"className\":\"text-sm text-gray-400 text-center md:text-left\",\"children\":[\"© \",2026,\" ToolHub. All rights reserved.\"]}]}]\n"])</script>
1<script>self.__next_f.push([1,"19:{}\n1a:\"$e:props:children:0:props:serverProvidedParams:params\"\n"])</script>
1<script>self.__next_f.push([1,"1f:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#2563eb\"}]]\n"])</script>
1<script>self.__next_f.push([1,"22:I[27201,[\"/_next/static/chunks/ff1a16fafef87110.js\",\"/_next/static/chunks/d2be314c3ece3fbe.js\"],\"IconMark\"]\n1d:null\n"])</script>
1<script>self.__next_f.push([1,"21:[[\"$\",\"title\",\"0\",{\"children\":\"ToolHub | 30+ Free Online AI Tools \u0026 Utilities\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Access a wide range of free, secure online AI tools, PDF editors, and web utilities. No installation required, 100% private.\"}],[\"$\",\"meta\",\"2\",{\"name\":\"author\",\"content\":\"Nirmal Jagani\"}],[\"$\",\"link\",\"3\",{\"rel\":\"manifest\",\"href\":\"/manifest.json\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"meta\",\"4\",{\"name\":\"keywords\",\"content\":\"free online tools, ai image generator, ai text assistant, pdf editor, web tools, developer utilities\"}],[\"$\",\"meta\",\"5\",{\"name\":\"format-detection\",\"content\":\"telephone=no\"}],[\"$\",\"meta\",\"6\",{\"name\":\"google-site-verification\",\"content\":\"DGCVuHY6Io_Nycdqo4jtTf8uYS20uAepyhkH19z9ojk\"}],[\"$\",\"meta\",\"7\",{\"name\":\"mobile-web-app-capable\",\"content\":\"yes\"}],[\"$\",\"meta\",\"8\",{\"name\":\"apple-mobile-web-app-title\",\"content\":\"ToolHub\"}],[\"$\",\"meta\",\"9\",{\"name\":\"apple-mobile-web-app-status-bar-style\",\"content\":\"default\"}],[\"$\",\"meta\",\"10\",{\"property\":\"og:title\",\"content\":\"ToolHub - Premium AI Tools \u0026 Utility Suite\"}],[\"$\",\"meta\",\"11\",{\"property\":\"og:description\",\"content\":\"Access pro-grade AI Text Assistant, Image Generator, and secure PDF tools for free. Fast, secure, and privacy-focused.\"}],[\"$\",\"meta\",\"12\",{\"property\":\"og:url\",\"content\":\"https://toolhub-4dn.pages.dev\"}],[\"$\",\"meta\",\"13\",{\"property\":\"og:site_name\",\"content\":\"ToolHub\"}],[\"$\",\"meta\",\"14\",{\"property\":\"og:locale\",\"content\":\"en_US\"}],[\"$\",\"meta\",\"15\",{\"property\":\"og:image\",\"content\":\"https://toolhub-4dn.pages.dev/og-image.png\"}],[\"$\",\"meta\",\"16\",{\"property\":\"og:image:width\",\"content\":\"1200\"}],[\"$\",\"meta\",\"17\",{\"property\":\"og:image:height\",\"content\":\"630\"}],[\"$\",\"meta\",\"18\",{\"property\":\"og:image:alt\",\"content\":\"ToolHub - 30+ Free Online AI Tools\"}],[\"$\",\"meta\",\"19\",{\"property\":\"og:type\",\"content\":\"website\"}],[\"$\",\"meta\",\"20\",{\"name\":\"twitter:card\",\"content\":\"summary_large_image\"}],[\"$\",\"meta\",\"21\",{\"name\":\"twitter:title\",\"content\":\"ToolHub | AI Powered Utilities\"}],[\"$\",\"meta\",\"22\",{\"name\":\"twitter:description\",\"content\":\"The ultimate suite of fast, secure, and free online tools.\"}],[\"$\",\"meta\",\"23\",{\"name\":\"twitter:image\",\"content\":\"https://toolhub-4dn.pages.dev/og-image.png\"}],[\"$\",\"link\",\"24\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.0b3bf435.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"link\",\"25\",{\"rel\":\"icon\",\"href\":\"/icon.png?icon.7dfaf3ba.png\",\"sizes\":\"640x640\",\"type\":\"image/png\"}],[\"$\",\"link\",\"26\",{\"rel\":\"apple-touch-icon\",\"href\":\"/apple-icon.png?apple-icon.7dfaf3ba.png\",\"sizes\":\"640x640\",\"type\":\"image/png\"}],[\"$\",\"$L22\",\"27\",{}]]\n"])</script>
1<!-- Cloudflare Pages Analytics -->
vendor: 99 bytes, line 1
1<script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "
1a60b4258154842328b1aa2fb3dddf3ed
vendor: 13 bytes, line 1
1"}'></script>
1<!-- Cloudflare Pages Analytics --></body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.