PageSourceSearch

https://app.napkin.ai/signin

html napkin.ai collected 2026-09-24 09:24:24 UTC 19,313 bytes, 2 lines download raw bytes

1<!doctype html><html translate=no><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport id=meta-viewport content="width=device-width,initial-scale=1,user-scalable=no"><title>App - Napkin AI</title><meta name=description content="Join Napkin.ai and start creating visuals for your ideas today. Napkin turns text content into engaging visuals for presentations, social media, docs and more."><meta name=apple-mobile-web-app-title content=napkin><meta name=application-name content=napkin><meta name=msapplication-TileColor content=#ffe70a><meta name=theme-color content=#ffffff><meta name=google-site-verification content=Yfi-pvsrLPkUf66PgeF3gAUVm8nSpy8WAdYbUtdoFOA>
1<script nonce="1e26ad0a8e0fa845288c95d7a85e6e1b">if("/invite"===(window.location.pathname||"").toLowerCase().replace(/\/$/,"")||"#invite"===window.location.hash){var inviteParams=new URLSearchParams(window.location.search);inviteParams.set("step","signup"),window.location.replace("/signin?"+inviteParams.toString())}</script>
1<link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=preload href="/main.dart.js?t=1790233294" as=script fetchpriority=high><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=preload href="/bundle/a-web-lib/bundle.js?t=1790233294" as=script><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=preload href="/bundle/text-web-lib/tiptap/bundle.js?t=1790233294" as=script><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=preload href="/bundle/ai-web-lib/ai_web_lib.bundle.js?t=1790233294" as=script><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=preload href="/bundle/auth-web-lib/auth/auth.bundle.js?t=1790233294" as=script><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=preload href="/bundle/help-web-lib/help/help.bundle.js?t=1790233294" as=script><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=preload href="/bundle/font-web-lib/font.bundle.js?t=1790233294" as=script><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=preload href="/bundle/c-web-lib/bundle.js?t=1790233294" as=script><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=preload href="/bundle/c-web-lib/bundle.css?t=1790233294" as=style><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=preload href="/bundle/help-web-lib/help.bundle.css?t=1790233294" as=style><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=preload href="/main.css?t=1790233294" as=style><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=preconnect href=https://assets.napkin.ai/ crossorigin><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Black-Italic-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Black-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Bold-Italic-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Bold-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Book-Italic-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Book-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-ExtraLight-Italic-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-ExtraLight-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Light-Italic-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Light-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Medium-Italic-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Medium-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Regular-Italic-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Regular-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Thin-Italic-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Thin-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Ultra-Italic-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href=https://assets.napkin.ai/fonts/Geomanist-Complete-Webfont/Geomanist-Ultra-Webfont/stylesheet.css><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href="/main.css?t=1790233294"><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href="/bundle/c-web-lib/bundle.css?t=1790233294"><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=stylesheet href="/bundle/help-web-lib/help.bundle.css?t=1790233294"><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=apple-touch-icon sizes=180x180 href="/apple-touch-icon.png?v=2"><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=icon type=image/png sizes=32x32 href="/favicon-32x32.png?v=2"><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=icon type=image/png sizes=16x16 href="/favicon-16x16.png?v=2"><link nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" rel=manifest href=/site.webmanifest><style>#outdated_browser_container{justify-content:center;align-items:center;width:100%;height:100%;display:none;position:fixed;top:0;left:0}#outdated_browser{text-align:center;background-color:#fff;border-radius:8px;flex-direction:column;padding:20px;
1display:flex;box-shadow:0 0 20px #0000001a}#outdated_browser p{white-space:nowrap;margin-top:8px;font-family:geomanist;font-style:normal;font-weight:400;line-height:32px;display:block}#outdated_browser .title:before{content:"";background-image:url(/assets/napkin-logo-20px.svg);background-position:50% 35%;background-repeat:no-repeat;background-size:80%;border-radius:50%;width:64px;height:64px;margin:0 auto 10px;display:block}</style>
1<script nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" type=application/ld+json>{"@context":"http://schema.org","@type":"Website","name":"Napkin AI","url":"https://www.napkin.ai","@id":"https://www.napkin.ai#website","logo":"https://www.napkin.ai/apple-touch-icon.png","sameAs":["https://www.linkedin.com/company/napkin-ai","https://x.com/napkin_ai/","https://www.instagram.com/napkin_ai/","https://www.tiktok.com/@napkin_ai","https://www.youtube.com/@napkin_ai"]}</script>
1<script nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" type=application/ld+json>{"@context":"http://schema.org","@type":"WebPage","@id":"https://app.napkin.ai#webpage","url":"https://app.napkin.ai","inLanguage":"en-US","name":"Sign in","description":"Log in to Napkin.ai and start creating visuals for your ideas today. Napkin turns text content into engaging visuals for presentations, social media, docs and more.","isPartOf":{"@id":"https://www.napkin.ai#website"}}</script>
1<script nonce="1e26ad0a8e0fa845288c95d7a85e6e1b">window.__napkin_sentry_queue=window.__napkin_sentry_queue||[],window.reportSentryError=function(n,e){try{if(!n)return;var r=n instanceof Error?n:new Error(String(n));window.__napkin_sentry_queue=window.__napkin_sentry_queue||[],window.__napkin_sentry_queue.push({type:"exception",error:r,meta:e||{}})}catch(n){}}</script>
1<script nonce="1e26ad0a8e0fa845288c95d7a85e6e1b">function setPageData(e,n,a,t){var i=document.querySelector("title");i&&n&&(i.innerText=n);var r=document.querySelector('meta[name="description"]');r&&a&&(r.content=a),document.querySelectorAll('script[type="application/ld+json"]').forEach(function(t){try{var i=JSON.parse(t.innerText);i&&"WebPage"===i["@type"]&&(i.url="https://app.napkin.ai"+(e||window.location.pathname),i.name=n||i.name,i.description=a||i.description,t.innerText=JSON.stringify(i))}catch(e){console.error("Failed to update ld+json: ",e)}});var o="https://app.napkin.ai"+(t||e||window.location.pathname);if(t=document.querySelector('link[rel="canonical"]'))t.href=o;else{var c=document.querySelector("head");if(c){var s=document.createElement("link");s.rel="canonical",s.href=o,c.appendChild(s)}}}var currentPath=(window.location.pathname||"/").toLowerCase();0===currentPath.indexOf("/signin")?setPageData("/signin","Sign in - Napkin AI","Log in to Napkin.ai and start creating visuals for your ideas today. Napkin turns text content into engaging visuals for presentations, social media, docs and more."):""===currentPath||"/"===currentPath?setPageData("/","Napkin AI","Join Napkin.ai and start creating visuals for your ideas today. Napkin turns text content into engaging visuals for presentations, social media, docs and more.","/signin"):setPageData()</script>
1<script nonce="1e26ad0a8e0fa845288c95d7a85e6e1b">"app.secondlayer.co"!==window.location.hostname&&"app.talkthru.io"!==window.location.hostname&&"www.app.napkin.ai"!==window.location.hostname||window.location.replace("https://app.napkin.ai"+window.location.pathname+window.location.search+window.location.hash)</script>
1<script nonce="1e26ad0a8e0fa845288c95d7a85e6e1b">window.gitCommit="a10cff039",window.startLoadingTime=(new Date).getTime(),window.logPerformanceGroup=o=>{try{const e=JSON.parse(o);console.table(e)}catch(o){console.error("Failed to log performance group: ",o)}}</script>
1<script nonce="1e26ad0a8e0fa845288c95d7a85e6e1b">try{const e=new URLSearchParams(window.location.search);if("true"===e.get("d_i_b")||document.cookie.indexOf("disableIndexedDB=true")>-1){console.warn("Disabling IndexedDB");const n=new Date;n.setTime(n.getTime()+1728e5),document.cookie=`disableIndexedDB=true; path=/; expires=${n.toUTCString()};`,indexedDB.open=null;const o=new URL(window.location);o.searchParams.delete("d_i_b"),window.history.replaceState({},"",o.toString())}else{const i=indexedDB.open;function indexedDBOpenProxy(...e){console.debug("[indexedDBOpenProxy] indexedDB.open",e);const n=i.apply(indexedDB,e),o=window.setTimeout(function(){if("pending"===n.readyState){console.error("IndexedDB open timeout",e);const n=new URL(window.location);n.searchParams.set("d_i_b","true"),window.location.replace(n.toString()),window.dispatchEvent(new Event("indexedDBOpenTimeout"))}},5e3),t=n.onsuccess;n.onsuccess=function(e){clearTimeout(o),t&&t.apply(this,arguments)};const d=n.onerror;return n.onerror=function(e){clearTimeout(o),d&&d.apply(this,arguments)},n}indexedDB.open=indexedDBOpenProxy}}catch(t){console.error("Failed to override indexedDB.open",t)}</script>
1<script nonce="1e26ad0a8e0fa845288c95d7a85e6e1b">window.onUncaughtError=function(e,n){if(console.error(e,n),n&&(n.type&&"not_defined"==n.type||n.toString().indexOf("Unexpected")>-1||n.toString().indexOf("Expected identifier")>-1||n.toString().indexOf("SyntaxError")>-1)){if(document.getElementsByClassName("workspace").length>0)return void console.debug("[displayOutdatedBrowserMessage] Skipping outdated browser message because the app is already loaded.");!function e(){var n=document.getElementById("outdated_browser_container");if(console.warn("Displaying outdated browser message...",n),null==n)return console.debug("Outdated browser message not found. Retrying..."),void window.setTimeout(e,100);n.style.display="flex",n.classList.add("visible"),document.getElementsByClassName("app-root")[0].style.display="none"}()}},window.onerror=function(e){window.onUncaughtError("window.onerror",e)}</script>
1<script nonce="1e26ad0a8e0fa845288c95d7a85e6e1b">var globalVariables={};function computeScriptUrlWithTc(o,e){let r=o;try{const t=new URL(o,window.location.origin),i="script_tc_"+(t.searchParams.get("t")||"no_t"),n=sessionStorage.getItem(i);if(null!==n){const o=parseInt(n,10)||0;if(e>0){const e=o+1;sessionStorage.setItem(i,String(e)),t.searchParams.set("tc",String(e))}else t.searchParams.set("tc",String(o))}else e>0&&(t.searchParams.set("tc","1"),sessionStorage.setItem(i,"1"));r=t.toString()}catch(e){console.debug("computeScriptUrlWithTc: failed to parse url, will use original url:",o,e),r=o}return r}function sendSignalWhenReady(o=0){if(!0!==window.areScriptsLoaded){for(const e in globalVariables)if(!window[e])return console.debug(`Global variable ${e} not found: ${globalVariables[e]} (retries: ${o})`),o<900?void window.setTimeout(()=>{sendSignalWhenReady(o+1)},100):(console.debug("Waited for 90 seconds. Reloading page."),void window.setTimeout(()=>{window.location.reload()},100));console.debug("All scripts are loaded."),window.areScriptsLoaded=!0}else console.debug("All scripts are already loaded.")}window.loadScript=function(o,e,r=0){const{defer:t=!1,crossorigin:i=null,globalVariable:n=null,timeout:a=5e3}=e||{};n&&(globalVariables[n]=o);let s=computeScriptUrlWithTc(o,r);function l(){try{if(r<20){const t=100+50*r;window.setTimeout(()=>{window.loadScript(o,e,r+1)},t),console.debug("Retrying loading script: ",o,r,t)}else{console.error("Max retries reached for script: ",o);try{window.reportSentryError&&window.reportSentryError(new Error("Max retries reached for script: "+o),{retryCount:r})}catch(o){}window.setTimeout(()=>{window.location.reload()},100)}}catch(e){console.error("Failed to retry loading script (from retryLoadingScript): ",o,e),window.onUncaughtError("retryLoadingScript",e)}}return new Promise((e,r)=>{try{console.debug("Loading script: ",s||o);const c=document.createElement("script");c.src=s||o,c.defer=t,i&&(c.crossorigin=i);const d=window.setTimeout(()=>{console.error("Failed to load script (timeout): ",o),c.remove(),l()},a);c.onload=()=>{clearTimeout(d),console.debug("Loaded script: ",o),e(),n&&!window[n]&&(console.warn("Failed to load script (missing global variable): ",o),l())},c.onerror=e=>{clearTimeout(d),console.error("Failed to load script (onerror): ",o,e),window.onUncaughtError("Failed to load scripts (onerror): ",e),l(),r()},document.head.appendChild(c)}catch(e){console.error("Failed to load script (from Promise): ",o,e),l()}})}</script>
1<script nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" src="/bundle/m.js?t=1790233294" fetchpriority=high></script>
1<script nonce="1e26ad0a8e0fa845288c95d7a85e6e1b">try{window.loadScript("/bundle/browser-web-lib/browser/browser.bundle.js?t=1790233294",{defer:!0,globalVariable:"browser"}),window.loadScript("/bundle/a-web-lib/bundle.js?t=1790233294",{defer:!0,globalVariable:"analytics"}),window.loadScript("/bundle/text-web-lib/tiptap/bundle.js?t=1790233294",{defer:!0,globalVariable:"tiptap"}),window.loadScript("/bundle/ai-web-lib/ai_web_lib.bundle.js?t=1790233294",{defer:!0,globalVariable:"ai_web_lib"}),window.loadScript("/bundle/auth-web-lib/auth/auth.bundle.js?t=1790233294",{defer:!0,globalVariable:"auth"}),window.loadScript("/bundle/help-web-lib/help/help.bundle.js?t=1790233294",{defer:!0,globalVariable:"help"}),window.loadScript("/bundle/font-web-lib/font.bundle.js?t=1790233294",{defer:!0,globalVariable:"font"}),window.loadScript("/bundle/c-web-lib/bundle.js?t=1790233294",{defer:!0,globalVariable:"cc"}),window.loadScript("/bundle/files-processing-web-lib/files_processing.bundle.js?t=1790233294",{defer:!0}),window.loadScript("/main.dart.js?t=1790233294",{defer:!0}),sendSignalWhenReady()}catch(e){try{window.reportSentryError&&window.reportSentryError(e instanceof Error?e:new Error("Failed to load scripts: "+e),{source:"load-javascript"})}catch(e){}window.onUncaughtError("Failed to load scripts: ",e)}</script>
1<div id=outdated_browser_container style=display:none><div id=outdated_browser><p class=title>Napkin.ai did not load properly.<p>Try reloading.<p>If you keep seeing this message try<br>updating your browser to a newer version.</div></div><div class=app-root><div class=app-container><div class="pending_holder pending_holder-default"><div class=pending><div class=spinner style=--color:#666;--size:96px;--dot:8px><div></div><div></div><div></div><div></div><div></div></div><p>Loading</div></div></div>
1<script nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" defer src="/bundle/a.js?t=1790233294"></script>
1<script nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" defer>try{var missingFeatures=[];window.Promise||missingFeatures.push("Promise"),window.fetch||missingFeatures.push("fetch"),window.IntersectionObserver||missingFeatures.push("IntersectionObserver"),window.ResizeObserver||missingFeatures.push("ResizeObserver"),window.MutationObserver||missingFeatures.push("MutationObserver"),window.WebSocket||missingFeatures.push("WebSocket"),window.requestAnimationFrame||missingFeatures.push("requestAnimationFrame"),missingFeatures.length>0&&console.error("Missing features: ",missingFeatures)}catch(e){console.error("Failed to detect missing features: ",e)}</script>
1<script nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" defer>try{console.log("[PreloadServerInfo] Preloading server info...");const o=new URLSearchParams(window.location.search),e=window.location.hostname;function applyCountryCode(o){if(o){console.log("[PreloadServerInfo] Country code: ",o);try{localStorage.setItem("napkin.country_code",o)}catch(o){console.error("[PreloadServerInfo] Failed to set country code to localStorage",o)}try{window.cookie_consent.CookieConsent._instance.setCountryCode(o)}catch(o){console.debug("[PreloadServerInfo] Failed to set country code to CookieConsent",o)}}else console.log("[PreloadServerInfo] No country code found")}if("localhost"===e||"127.0.0.1"===e||"[::1]"===e)applyCountryCode(o.get("cc")||"US");else{const r=Date.now(),n=`https://info.napkin.ai?v=${"app.napkin.ai"===e?"":"hyderabad"}&c=${r}`;fetch(n,{headers:{"Content-Type":"application/json",Accept:"application/json"},mode:"cors",credentials:"omit"}).then(o=>(console.log("[PreloadServerInfo] Response status:",o.status),o.ok?o.json():(console.error("[PreloadServerInfo] Server returned error status:",o.status),o.text().then(e=>{throw console.error("[PreloadServerInfo] Error response:",e),new Error(`HTTP ${o.status}: ${e}`)})))).then(e=>{applyCountryCode(o.get("cc")||e?.cc)}).catch(o=>{console.error("[PreloadServerInfo] Failed to load server info: ",o)})}}catch(t){console.error("[PreloadServerInfo] Failed to preload server info: ",t)}</script>
vendor: 1 bytes, line 1
1
2<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" nonce="1e26ad0a8e0fa845288c95d7a85e6e1b" data-cf-beacon='{"version":"2024.11.0","token":"f8c67f02612248dda321ca957680c01d","spa":2}' crossorigin="anonymous"></script>
vendor: 1 bytes, line 2
2

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.