Help
RSS
API
Feed
Maltego
Contact
Domain > importok.io
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2021-08-25
54.230.161.93
(
ClassC
)
2025-11-01
104.21.5.209
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyDate: Sat, 01 Nov 2025 05:17:31 GMTContent-Type: text/htmlTransfer-Encoding: chunkedConnection: keep-aliveServer: cloudflareNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Location: https://importok.io/cf-cache-status: DYNAMICReport-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sj6w%2Fjegi3aSvobyFaQ9uqRYeC5EC8Kov0Am48IZIGIfB%2FvX4X3dJPe7J8Ae6CJU5SaD%2Fi%2BA69seYTfSJODsuR9vvGG%2BBM9keHP%2Bn}}CF-RAY: 9978ed1fee5b9694-PDXalt-svc: h3:443; ma86400 html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>nginx/1.22.1/center>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Sat, 01 Nov 2025 05:17:32 GMTContent-Type: text/html; charsetUTF-8Transfer-Encoding: chunkedConnection: keep-aliveServer: cloudflareCache-Control: no-cache, privateNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}x-frame-options: SAMEORIGINx-content-type-options: nosniffReport-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sF4Cnyy%2FgujhaHaVhm9YZ90JNhPCZuZsSPHkFEjHa%2FzeW4TjMLCUi2GmB0AACxW%2FvM7iV1rzWq4mxkBvOwTAAd2Fr7JHX4konh87f}}cf-cache-status: DYNAMICvary: accept-encodingSet-Cookie: XSRF-TOKENeyJpdiI6InBPTktSY1VVUmo5MGVOWm9ISnJJa3c9PSIsInZhbHVlIjoiTURLUmp0YVUzQ0hRcVlLV05Gd0JmTmJyUXdGVWNtRHNsTFlnY0NscWNZTk1ybHRjZDRLTGROM0YxVjhPcGtDdFQ4eUtLQ2M1cFpZcXlpQTFVY3dTcU11MWtUL1hrL3RlVXZBa0hQc1YyT0lrNkNqZVJraU4vaTJhVGk0WmRzYSsiLCJtYWMiOiJhMGM0ZmIzMjcyYTI5ODU2ODNkZTFkOTcxM2FiNjYzODdmYzhhYTVhZDcxNTE1N2U5NTU4NDRlNTc2ZjRkYjhlIiwidGFnIjoiIn0%3D; SameSiteLax; Secure; Path/; Max-Age7200; ExpiresSat, 01 Nov 2025 07:17:32 GMTSet-Cookie: importok_sessioneyJpdiI6ImFHUjd4RERmbmtGZXlkSG5hREVqaVE9PSIsInZhbHVlIjoicHZvUGlZbTltc1hXV2ROZkE1dHhibklYdkdncDlxL01WZTdvemFsb3NVZ24rQStZVmpCTEhraFN6Q1hyS25TWlcxTDgvTlNyWE4xdHJRVVcybDhXOXRaKy9hZWRoRFRvYUhDSUthVHZkUFNJaG8wVmhmQWtSUmpsUzIzdXZGeXoiLCJtYWMiOiIxZDljNTc5ZmExMjMwMGE4ODFkNDY4ZjkzYzI3NTc5YzcxZjA4Njg3OWI1NzdlNTdmNTJiMTkxNGUyMDRiNjhmIiwidGFnIjoiIn0%3D; HttpOnly; SameSiteLax; Secure; Path/; Max-Age7200; ExpiresSat, 01 Nov 2025 07:17:32 GMTCF-RAY: 9978ed21581068f1-PDXalt-svc: h3:443; ma86400 !doctype html>html>head> meta charsetUTF-8> link relcanonical hrefhttps://importok.io> meta nameviewport contentwidthdevice-width, initial-scale1.0> link relpreconnect hrefhttps://fonts.bunny.net> link hrefhttps://fonts.bunny.net/css?familyinter:100,200,300,400,500,600,700,800,900|source-code-pro:800 relstylesheet /> !-- Styles / Scripts --> link relpreload asstyle hrefhttps://importok.io/build/assets/app-DSKvxBzY.css />link relmodulepreload asscript hrefhttps://importok.io/build/assets/app-DjpVR2Cr.js />link relstylesheet hrefhttps://importok.io/build/assets/app-DSKvxBzY.css />script typemodule srchttps://importok.io/build/assets/app-DjpVR2Cr.js>/script> link relapple-touch-icon sizes180x180 href/assets/apple-touch-icon.png> link relicon typeimage/png sizes32x32 href/assets/favicon-32x32.png> link relicon typeimage/png sizes16x16 href/assets/favicon-16x16.png> link relmanifest href/site.webmanifest> !-- Primary Meta Tags --> title> CSV Importer tool for SaaS and Web Applications | importOK /title> meta nametitle contentCSV Importer tool for SaaS and Web Applications> meta namedescription contentMapping data manually is a messy and slow process. Help your customers to start using your solution so you can both focus on what matters most.> !-- Open Graph / Facebook --> meta propertyog:type contentwebsite> meta propertyog:url contenthttps://importok.io> meta propertyog:title contentCSV Importer tool for SaaS and Web Applications | importOK> meta propertyog:description contentMapping data manually is a messy and slow process. Help your customers to start using your solution so you can both focus on what matters most.> meta propertyog:image contenthttps://importok.io/assets/logo.jpg> !-- Twitter --> meta propertytwitter:card contentsummary_large_image> meta propertytwitter:url contenthttps://importok.io> meta propertytwitter:title contentCSV Importer tool for SaaS and Web Applications | importOK> meta propertytwitter:description contentMapping data manually is a messy and slow process. Help your customers to start using your solution so you can both focus on what matters most.> meta propertytwitter:image contenthttps://importok.io/assets/logo.jpg> !-- Umami Analytics --> script defer srchttps://cloud.umami.is/script.js data-website-id2d995da8-b843-480f-8f2a-363842023bf3>/script> !-- Hotjar Tracking Code for https://importok.io --> script> (function(h,o,t,j,a,r){ h.hjh.hj||function(){(h.hj.qh.hj.q||).push(arguments)}; h._hjSettings{hjid:2765383,hjsv:6}; ao.getElementsByTagName(head)0; ro.createElement(script);r.async1; r.srct+h._hjSettings.hjid+j+h._hjSettings.hjsv; a.appendChild(r); })(window,document,https://static.hotjar.com/c/hotjar-,.js?sv); /script> !-- Crisp chat --> script typetext/javascript>window.$crisp;window.CRISP_WEBSITE_ID4fffa815-751e-49e5-9aa7-e5c2471ca00f;(function(){ddocument;sd.createElement(script);s.srchttps://client.crisp.chat/l.js;s.async1;d.getElementsByTagName(head)0.appendChild(s);})();/script>/head>body classbg-white font-body x-data{ openNewsletterModal: false }> header classfixed top-0 z-50 w-full py-2 border-b bg-white/80 backdrop-blur-md border-slate-200/50> div classcontainer flex px-4 mx-auto text-sm leading-10> div classmr-4> a hrefhttps://importok.io classtext-3xl tracking-wide text-black> svg version1.0 xmlnshttp://www.w3.org/2000/svg classinline-block w-12 h-12 bg-black width512 height512 viewBox0 0 512 512 preserveAspectRatioxMidYMid meet> g transformtranslate(0,512) scale(0.1,-0.1) strokenone> path fillwhite dM0 2560 l0 -2560 2560 0 2560 0 0 2560 0 2560 -2560 0 -2560 0 0 -2560z m2825 1412 c105 -63 196 -120 202 -126 19 -17 -421 -262 -447 -250 -9 5 -110 63 -224 129 -136 79 -202 123 -194 128 7 4 108 63 223 131 177 104 213 122 230 113 11 -6 106 -62 210 -125z m-693 -641 c4 -4 -89 -64 -207 -135 l-215 -127 0 -132 c0 -73 -3 -303 -6 -512 l-6 -380 97 -59 c92 -56 342 -186 358 -186 4 0 7 227 7 503 0 468 1 505 18 519 9 8 91 58 182 110 91 52 372 216 625 364 437 256 463 269 510 269 46 0 64 -9 229 -110 158 -97 181 -115 197 -150 18 -38 19 -83 19 -785 l0 -746 -232 -131 c-128 -72 -386 -218 -573 -323 -187 -106 -384 -217 -438 -247 -53 -30 -104 -53 -111 -50 -13 5 -267 152 -786 455 -118 70 -282 165 -365 213 -146 84 -150 88 -157 125 -11 65 -29 1450 -19 1476 15 38 50 64 250 182 l193 113 211 -124 c117 -69 215 -128 219 -132z/> path fillwhite dM3043 2807 l-443 -252 0 -522 c0 -288 3 -523 6 -523 4 0 204 118 445 262 l439 262 0 513 c0 282 -1 513 -2 513 -2 0 -202 -114 -445 -253z/> /g> /svg> span stylefont-family: Source Code Pro; font-weight: 800; class-ml-2> importOK /span> /a> /div> span classgrow>/span> !-- Search Button --> button @clickdocument.dispatchEvent(new KeyboardEvent(keydown, { key: k, ctrlKey: true })) classitems-center hidden h-8 px-2 py-1 mt-2 mr-4 text-base transition-colors border rounded-md md:flex md:text-sm bg-slate-50 hover:bg-slate-100 border-slate-200 text-slate-600 titleSearch documentation (Ctrl+K) > svg classw-3 h-3 mr-2 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z>/path> /svg> span classml-2 text-xs px-1.5 py-0.5 bg-slate-200 rounded text-slate-500>⌘K/span> /button> button idnavbar-default-toggle typebutton classz-10 inline-flex items-center justify-center w-10 h-10 p-2 text-sm rounded-lg text-slate-600 md:hidden hover:bg-slate-100 focus:outline-none focus:ring-2 focus:ring-slate-200 aria-controlsnavbar-default aria-expandedfalse> span classsr-only>Open main menu/span> svg classw-5 h-5 aria-hiddentrue xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 17 14> path strokecurrentColor stroke-linecapround stroke-linejoinround stroke-width2 dM1 1h15M1 7h15M1 13h15/> /svg> /button> div classfixed hidden w-screen h-screen -mt-4 -ml-4 bg-white md:bg-transparent md:mt-0 md:ml-0 md:block md:static md:w-auto md:h-auto text-slate-600 idnavbar-default> a hrefhttps://importok.io classblock p-4 text-3xl tracking-wide text-slate-900 md:hidden> svg version1.0 xmlnshttp://www.w3.org/2000/svg classinline-block w-12 h-12 bg-black width512 height512 viewBox0 0 512 512 preserveAspectRatioxMidYMid meet> g transformtranslate(0,512) scale(0.1,-0.1) strokenone> path fillwhite dM0 2560 l0 -2560 2560 0 2560 0 0 2560 0 2560 -2560 0 -2560 0 0 -2560z m2825 1412 c105 -63 196 -120 202 -126 19 -17 -421 -262 -447 -250 -9 5 -110 63 -224 129 -136 79 -202 123 -194 128 7 4 108 63 223 131 177 104 213 122 230 113 11 -6 106 -62 210 -125z m-693 -641 c4 -4 -89 -64 -207 -135 l-215 -127 0 -132 c0 -73 -3 -303 -6 -512 l-6 -380 97 -59 c92 -56 342 -186 358 -186 4 0 7 227 7 503 0 468 1 505 18 519 9 8 91 58 182 110 91 52 372 216 625 364 437 256 463 269 510 269 46 0 64 -9 229 -110 158 -97 181 -115 197 -150 18 -38 19 -83 19 -785 l0 -746 -232 -131 c-128 -72 -386 -218 -573 -323 -187 -106 -384 -217 -438 -247 -53 -30 -104 -53 -111 -50 -13 5 -267 152 -786 455 -118 70 -282 165 -365 213 -146 84 -150 88 -157 125 -11 65 -29 1450 -19 1476 15 38 50 64 250 182 l193 113 211 -124 c117 -69 215 -128 219 -132z/> path fillwhite dM3043 2807 l-443 -252 0 -522 c0 -288 3 -523 6 -523 4 0 204 118 445 262 l439 262 0 513 c0 282 -1 513 -2 513 -2 0 -202 -114 -445 -253z/> /g> /svg> span stylefont-family: Source Code Pro; font-weight: 800; class-ml-2> importOK /span> /a> div classpx-4 pt-1 text-base md:px-0 md:text-sm> a hrefhttps://importok.io/demo classblock px-4 py-2 mr-4 rounded md:inline-flex hover:bg-slate-100>Demo/a> a hrefhttps://importok.io/docs/get-started classblock px-4 py-2 mr-4 rounded md:inline-flex hover:bg-slate-100>Docs/a> a hrefhttps://importok.io/changelog classblock px-4 py-2 mr-4 rounded md:inline-flex hover:bg-slate-100>Changelog/a> a hrefhttps://importok.io/blog classblock px-4 py-2 mr-4 rounded md:inline-flex hover:bg-slate-100>Blog/a> button onclick$crisp.push(do, chat:open) classblock px-4 py-2 mr-4 rounded md:inline-flex hover:bg-slate-100>Support/button> a hrefhttps://importok.io/pricing classitems-center block w-auto px-6 py-2 font-bold text-white rounded-lg shadow-lg bg-gradient-to-r from-cyan-500 to-sky-600 md:px-8 md:border-2 md:border-cyan-500 md:inline-flex md:mb-2 lg:mb-0 hover:from-cyan-500 hover:to-sky-700 hover:shadow-xl titleSeamless import experience for your app>Get importOK/a> /div> /div> /div> /header> !-- Hero -->section classrelative overflow-hidden bg-gradient-to-br from-slate-50 via-white to-cyan-50> !-- Background patterns --> div classabsolute inset-0 bg-radial-gradient(circle_at_30%_80%,rgba(14,165,233,0.1),transparent_50%)>/div> div classabsolute inset-0 bg-radial-gradient(circle_at_80%_20%,rgba(34,197,94,0.05),transparent_50%)>/div> div classcontainer relative px-5 pt-24 pb-16 mx-auto md:pt-32 md:pb-24> div classflex flex-col gap-12 lg:flex-row lg:items-center lg:justify-between> div classflex-1 max-w-2xl> div classmb-6> div classflex items-center space-x-2> div classflex items-center> svg classw-5 h-5 text-yellow-400 fillcurrentColor viewBox0 0 20 20 xmlnshttp://www.w3.org/2000/svg>path dM9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z>/path>/svg> svg classw-5 h-5 text-yellow-400 fillcurrentColor viewBox0 0 20 20 xmlnshttp://www.w3.org/2000/svg>path dM9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z>/path>/svg> svg classw-5 h-5 text-yellow-400 fillcurrentColor viewBox0 0 20 20 xmlnshttp://www.w3.org/2000/svg>path dM9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z>/path>/svg> svg classw-5 h-5 text-yellow-400 fillcurrentColor viewBox0 0 20 20 xmlnshttp://www.w3.org/2000/svg>path dM9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z>/path>/svg> svg classw-5 h-5 text-yellow-400 fillcurrentColor viewBox0 0 20 20 xmlnshttp://www.w3.org/2000/svg>path dM9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z>/path>/svg> /div> span classtext-sm font-medium text-slate-700>“Simple, yet powerful”/span>/div> /div> h1 classmb-6 text-4xl font-bold leading-tight tracking-tight text-transparent md:text-5xl bg-gradient-to-r from-slate-900 via-slate-800 to-cyan-900 bg-clip-text> Seamless AI-powered import experience /h1> div classgrid gap-4 mb-8> div classflex items-start p-4 space-x-4 transition-all duration-200 border bg-white/70 backdrop-blur-sm rounded-xl border-slate-200/50 hover:border-cyan-600/30> div classflex items-center justify-center flex-shrink-0 w-6 h-6 rounded-lg bg-gradient-to-r from-cyan-500 to-sky-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Embed a powerful import wizard into your app/span> /div> div classflex items-start p-4 space-x-4 transition-all duration-200 border bg-white/70 backdrop-blur-sm rounded-xl border-slate-200/50 hover:border-cyan-600/30> div classflex items-center justify-center flex-shrink-0 w-6 h-6 rounded-lg bg-gradient-to-r from-cyan-500 to-sky-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Let your customers import Excel or CSV files/span> /div> div classflex items-start p-4 space-x-4 transition-all duration-200 border bg-white/70 backdrop-blur-sm rounded-xl border-slate-200/50 hover:border-cyan-600/30> div classflex items-center justify-center flex-shrink-0 w-6 h-6 rounded-lg bg-gradient-to-r from-cyan-500 to-sky-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Map fields and clean up records in seconds with AI/span> /div> div classflex items-start p-4 space-x-4 transition-all duration-200 border bg-white/70 backdrop-blur-sm rounded-xl border-slate-200/50 hover:border-cyan-600/30> div classflex items-center justify-center flex-shrink-0 w-6 h-6 rounded-lg bg-gradient-to-r from-cyan-500 to-sky-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Validate and normalize data instantly with real-time feedback/span> /div> /div> div classflex flex-col items-start gap-4 sm:flex-row sm:items-center> a hrefhttps://importok.io/pricing classinline-flex items-center px-8 py-4 text-lg font-bold text-white border-2 shadow-lg cursor-pointer rounded-xl bg-gradient-to-r from-cyan-500 to-sky-600 hover:from-cyan-500 hover:to-sky-700 hover:shadow-xl hover:scale-105 focus:outline-none focus:ring-2 focus:ring-cyan-300 border-cyan-500 titleSeamless import experience for your app> Get importOK svg classw-5 h-5 ml-2 viewBox0 0 24 24 strokecurrentColor stroke-width2 fillnone stroke-linecapround stroke-linejoinround> path dM5 12h14>/path> path dM12 5l7 7-7 7>/path> /svg> /a> span classtext-sm text-slate-500> strong classtext-slate-700>Free/strong> trial available. /span> /div> /div> div classflex-1 max-w-2xl> a hrefhttps://importok.io/demo titleCheckout the demo classblock group> div classrelative> img srchttps://importok.io/assets/import-wizard-editor.png altData validation step from import wizard titleEmbeddable import wizard that provides instant feedback classw-full /> /div> /a> /div> /div> /div>/section>!-- Trusted by -->section classcontainer px-5 mx-auto mt-32 mb-16 text-center> div classpx-4 text-sm font-semibold tracking-wider uppercase text-slate-500>Trusted across industries/div> div classflex flex-wrap items-center justify-center gap-8 mt-8 mb-16> img srchttps://importok.io/assets/brands/alasco.png altAlasco logo classw-160px h-64px grayscale opacity-75 hover:opacity-100 transition-opacity> img srchttps://importok.io/assets/brands/arternal.png altArternal logo classw-160px h-64px grayscale opacity-75 hover:opacity-100 transition-opacity> img srchttps://importok.io/assets/brands/canada-official-olympic-team.png altCanada Official Olympic Team logo classw-160px h-64px grayscale opacity-75 hover:opacity-100 transition-opacity> img srchttps://importok.io/assets/brands/dexibit.png altDexibit logo classw-160px h-64px grayscale opacity-75 hover:opacity-100 transition-opacity> img srchttps://importok.io/assets/brands/fastgen.png altFastgen logo classw-160px h-64px grayscale opacity-75 hover:opacity-100 transition-opacity> img srchttps://importok.io/assets/brands/genistar.png altGenistar logo classw-160px h-64px grayscale opacity-75 hover:opacity-100 transition-opacity> img srchttps://importok.io/assets/brands/greenlight-guru.png altGreenlight Guru logo classw-160px h-64px grayscale opacity-75 hover:opacity-100 transition-opacity> img srchttps://importok.io/assets/brands/incentify.png altIncentify logo classw-160px h-64px grayscale opacity-75 hover:opacity-100 transition-opacity> img srchttps://importok.io/assets/brands/movermate.png altMovermate logo classw-160px h-64px grayscale opacity-75 hover:opacity-100 transition-opacity> img srchttps://importok.io/assets/brands/solvice.png altSolvice logo classw-160px h-64px grayscale opacity-75 hover:opacity-100 transition-opacity> img srchttps://importok.io/assets/brands/wakam.png altWakam logo classw-160px h-64px grayscale opacity-75 hover:opacity-100 transition-opacity> img srchttps://importok.io/assets/brands/workstaff.png altWorkstaff logo classw-160px h-64px grayscale opacity-75 hover:opacity-100 transition-opacity> /div>/section>!-- The easiest way to import data -->section classpy-16 grid-background bg-gradient-to-br from-cyan-50 to-teal-50 my-16> div classcontainer px-5 mx-auto text-center> div classpx-4 text-3xl font-bold md:text-4xl text-cyan-900>The easiest way to import data/div> h2 classpx-4 my-3 text-xl font-medium md:text-2xl text-cyan-700>Ready for your app/h2> div classpx-4 mt-8 text-xl md:text-2x> a hrefhttps://importok.io/demo titleGet lifetime access with our limited-time discount. classinline-flex items-center w-auto px-8 py-4 text-white border-2 rounded-lg shadow-xl bg-gradient-to-r from-cyan-500 to-sky-600 border-cyan-500 md:mb-2 lg:mb-0 hover:from-cyan-500 hover:to-sky-700 hover:shadow-2xl hover:scale-105> Checkout the demo svg classw-5 h-5 ml-2 viewBox0 0 24 24 strokecurrentColor stroke-width2 fillnone stroke-linecapround stroke-linejoinround> path dM5 12h14>/path> path dM12 5l7 7-7 7>/path> /svg> /a> /div> /div>/section>!-- Built for developers -->section classrelative py-24 bg-gradient-to-b from-white to-slate-50> div classcontainer px-5 mx-auto> div classmax-w-3xl mb-16> h2 classmb-4 text-4xl font-bold text-transparent bg-gradient-to-r from-slate-900 to-cyan-900 bg-clip-text>Built for developers/h2> p classtext-xl leading-relaxed text-slate-600 with-links>The best and easiest way to import files.br>Dont take our word for it, a hrefhttps://importok.io/demo classfont-semibold transition-colors text-cyan-600! hover:text-cyan-700! decoration-cyan-300 hover:decoration-cyan-500>give it a try now/a>!/p> /div> div classgrid gap-16 lg:gap-24> !-- Embeddable solution --> div classgrid items-center gap-12 lg:grid-cols-2> div classspace-y-6> div classinline-flex items-center px-4 py-2 text-sm font-medium rounded-full bg-cyan-100 text-cyan-800> svg classw-4 h-4 mr-2 fillcurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround dM14.25 6.087c0-.355.186-.676.401-.959.221-.29.349-.634.349-1.003 0-1.036-1.007-1.875-2.25-1.875s-2.25.84-2.25 1.875c0 .369.128.713.349 1.003.215.283.401.604.401.959v0a.64.64 0 0 1-.657.643 48.39 48.39 0 0 1-4.163-.3c.186 1.613.293 3.25.315 4.907a.656.656 0 0 1-.658.663v0c-.355 0-.676-.186-.959-.401a1.647 1.647 0 0 0-1.003-.349c-1.036 0-1.875 1.007-1.875 2.25s.84 2.25 1.875 2.25c.369 0 .713-.128 1.003-.349.283-.215.604-.401.959-.401v0c.31 0 .555.26.532.57a48.039 48.039 0 0 1-.642 5.056c1.518.19 3.058.309 4.616.354a.64.64 0 0 0 .657-.643v0c0-.355-.186-.676-.401-.959a1.647 1.647 0 0 1-.349-1.003c0-1.035 1.008-1.875 2.25-1.875 1.243 0 2.25.84 2.25 1.875 0 .369-.128.713-.349 1.003-.215.283-.4.604-.4.959v0c0 .333.277.599.61.58a48.1 48.1 0 0 0 5.427-.63 48.05 48.05 0 0 0 .582-4.717.532.532 0 0 0-.533-.57v0c-.355 0-.676.186-.959.401-.29.221-.634.349-1.003.349-1.035 0-1.875-1.007-1.875-2.25s.84-2.25 1.875-2.25c.37 0 .713.128 1.003.349.283.215.604.401.96.401v0a.656.656 0 0 0 .658-.663 48.422 48.422 0 0 0-.37-5.36c-1.886.342-3.81.574-5.766.689a.578.578 0 0 1-.61-.58v0Z /> /svg> Plug and Play /div> h3 classtext-3xl font-bold text-slate-900>Embeddable solution/h3> p classtext-lg leading-relaxed text-slate-600>Use it anywhere - as a web component or with React, Next.js, Vue and more. Designed to provide a seamless development experience./p> div classgrid gap-4 sm:grid-cols-2> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-cyan-500 to-sky-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Private npm access/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-cyan-500 to-sky-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>React, Next.js, Angular, Vue/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-cyan-500 to-sky-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Typescript declarations/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-cyan-500 to-sky-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Perpetual License/span> /div> /div> a hrefhttps://importok.io/docs/get-started classinline-flex items-center font-semibold text-cyan-600 hover:text-cyan-700 group> Get started svg classw-4 h-4 ml-2 transition-transform group-hover:translate-x-1 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM5 12h14m-7-7l7 7-7 7/> /svg> /a> /div> div classhidden p-8 shadow-2xl lg:block bg-slate-900 rounded-2xl> div > pre>code data-themenord data-langjsx classtorchlight stylebackground-color: #2e3440ff; --theme-selection-background: #88c0d099;>!-- Syntax highlighted by torchlight.dev -->div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 1/span>span stylecolor: #81A1C1;>import/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>{/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #8FBCBB;>ImportWizard/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>}/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #81A1C1;>from/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>'/span>span stylecolor: #A3BE8C;>@importok/react/span>span stylecolor: #ECEFF4;>'/span>span stylecolor: #81A1C1;>;/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 2/span> /div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 3/span>span stylecolor: #81A1C1;>function/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #88C0D0;>App/span>span stylecolor: #ECEFF4;>()/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>{/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 4/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #81A1C1;>return/span>span stylecolor: #D8DEE9FF;> (/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 5/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #81A1C1;></span>span stylecolor: #8FBCBB;>ImportWizard/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 6/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #8FBCBB;>fields/span>span stylecolor: #81A1C1;>{...}/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 7/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #81A1C1;>/>/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 8/span>span stylecolor: #D8DEE9FF;> )/span>span stylecolor: #81A1C1;>;/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 9/span>span stylecolor: #ECEFF4;>}/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number>10/span> /div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number>11/span>span stylecolor: #81A1C1;>export/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #81A1C1;>default/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #D8DEE9;>App/span>span stylecolor: #81A1C1;>;/span>/div>/code>/pre>/div> p classmt-4 text-sm text-center text-slate-400>Not using React? See our a classunderline text-cyan-400 hover:text-cyan-300 hrefhttps://importok.io/docs/get-started>docs/a> for more examples./p> /div> /div> !-- Control your data --> div classgrid items-center gap-12 lg:grid-cols-2> div classorder-2 hidden p-8 shadow-2xl lg:block lg:order-1 bg-slate-900 rounded-2xl> div > pre>code data-themenord data-langjson classtorchlight has-focus-lines stylebackground-color: #2e3440ff; --theme-selection-background: #88c0d099;>!-- Syntax highlighted by torchlight.dev -->div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 1/span>span stylecolor: #ECEFF4;>{/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 2/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #8FBCBB;>company_name/span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #ECEFF4;>:/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>{/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 3/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #8FBCBB;>label/span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #ECEFF4;>:/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #A3BE8C;>Company Name/span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #ECEFF4;>,/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 4/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #8FBCBB;>transformers/span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #ECEFF4;>:/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #A3BE8C;>capitalize|trim/span>span stylecolor: #ECEFF4;>"/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 5/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>},/span>/div>div classline line-focus>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 6/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #8FBCBB;>registration_year/span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #ECEFF4;>:/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>{/span>span stylecolor: #D8DEE9FF;> /span>/div>div classline line-focus>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 7/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #8FBCBB;>label/span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #ECEFF4;>:/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #A3BE8C;>Registration Year/span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #ECEFF4;>,/span>/div>div classline line-focus>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 8/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #8FBCBB;>validators/span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #ECEFF4;>:/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #A3BE8C;>required|between:1900,2024/span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #ECEFF4;>,/span>/div>div classline line-focus>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 9/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #8FBCBB;>transformers/span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #ECEFF4;>:/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>"/span>span stylecolor: #A3BE8C;>trim|round|int/span>span stylecolor: #ECEFF4;>"/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number>10/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>}/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number>11/span>span stylecolor: #ECEFF4;>}/span>/div>/code>/pre>/div> p classmt-4 text-sm text-center text-slate-400>Simple yet powerful. View the full list of a classunderline text-cyan-400 hover:text-cyan-300 hrefhttps://importok.io/docs/transformers>validators and transformers/a>./p> /div> div classorder-1 space-y-6 lg:order-2> div classinline-flex items-center px-4 py-2 text-sm font-medium rounded-full bg-emerald-100 text-emerald-800> svg classw-4 h-4 mr-2 fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM3 3a1 1 0 000 2v8a2 2 0 002 2h2.586l-1.293 1.293a1 1 0 101.414 1.414L10 15.414l2.293 2.293a1 1 0 001.414-1.414L12.414 15H15a2 2 0 002-2V5a1 1 0 100-2H3zm11.707 4.707a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l5-5z clip-ruleevenodd/> /svg> Smarter imports /div> h3 classtext-3xl font-bold text-slate-900>Control your data/h3> p classtext-lg leading-relaxed text-slate-600>Never spend valuable time again on formatting data and building custom import scripts. Format and validate the uploaded files in one go./p> div classgrid gap-4 sm:grid-cols-2> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-emerald-500 to-teal-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Smart mapping/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-emerald-500 to-teal-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Built-in validators/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-emerald-500 to-teal-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Custom validators/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-emerald-500 to-teal-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Data transformers/span> /div> /div> a hrefhttps://importok.io/docs/transformers classinline-flex items-center font-semibold text-emerald-600 hover:text-emerald-700 group> Learn more about validators and transformers svg classw-4 h-4 ml-2 transition-transform group-hover:translate-x-1 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM5 12h14m-7-7l7 7-7 7/> /svg> /a> /div> /div> !-- API Ready --> div classgrid items-center gap-12 lg:grid-cols-2> div classspace-y-6> div classinline-flex items-center px-4 py-2 text-sm font-medium text-purple-800 bg-purple-100 rounded-full> svg classw-4 h-4 mr-2 fillcurrentColor viewBox0 0 20 20> path dM5.5 16a3.5 3.5 0 01-.369-6.98 4 4 0 117.753-1.977A4.5 4.5 0 1113.5 16h-8z/> /svg> Webhooks & API /div> h3 classtext-3xl font-bold text-slate-900>API Ready/h3> p classtext-lg leading-relaxed text-slate-600>Having an API in place already? importOK lets you send clean, validated import data directly to your API. Simple as that./p> div classgrid gap-4 sm:grid-cols-2> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-purple-500 to-indigo-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Webhooks/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-purple-500 to-indigo-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Batch processing/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-purple-500 to-indigo-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Clean data/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-purple-500 to-indigo-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Data never reaches our servers/span> /div> /div> a hrefhttps://importok.io/docs/get-started classinline-flex items-center font-semibold text-purple-600 hover:text-purple-700 group> Get started svg classw-4 h-4 ml-2 transition-transform group-hover:translate-x-1 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM5 12h14m-7-7l7 7-7 7/> /svg> /a> /div> div classhidden p-8 shadow-2xl lg:block bg-slate-900 rounded-2xl> div > pre>code data-themenord data-langjsx classtorchlight stylebackground-color: #2e3440ff; --theme-selection-background: #88c0d099;>!-- Syntax highlighted by torchlight.dev -->div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 1/span>span stylecolor: #81A1C1;></span>span stylecolor: #8FBCBB;>ImportWizard/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 2/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #8FBCBB;>onRecordReady/span>span stylecolor: #81A1C1;>{/span>span stylecolor: #ECEFF4;>(/span>span stylecolor: #D8DEE9;>record/span>span stylecolor: #ECEFF4;>)/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #81A1C1;>>/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 3/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #88C0D0;>fetch/span>span stylecolor: #D8DEE9FF;>(/span>span stylecolor: #ECEFF4;>'/span>span stylecolor: #A3BE8C;>https://api.your-app.com/span>span stylecolor: #ECEFF4;>'/span>span stylecolor: #ECEFF4;>,/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>{/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 4/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #88C0D0;>method/span>span stylecolor: #ECEFF4;>:/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>'/span>span stylecolor: #A3BE8C;>POST/span>span stylecolor: #ECEFF4;>'/span>span stylecolor: #ECEFF4;>,/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 5/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #88C0D0;>headers/span>span stylecolor: #ECEFF4;>:/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>{/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 6/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>'/span>span stylecolor: #A3BE8C;>Content-Type/span>span stylecolor: #ECEFF4;>'/span>span stylecolor: #ECEFF4;>:/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>'/span>span stylecolor: #A3BE8C;>application/json/span>span stylecolor: #ECEFF4;>'/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 7/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>},/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 8/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #88C0D0;>body/span>span stylecolor: #ECEFF4;>:/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #81A1C1;>JSON/span>span stylecolor: #ECEFF4;>./span>span stylecolor: #88C0D0;>stringify/span>span stylecolor: #D8DEE9FF;>(/span>span stylecolor: #D8DEE9;>record/span>span stylecolor: #D8DEE9FF;>)/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number> 9/span>span stylecolor: #D8DEE9FF;> /span>span stylecolor: #ECEFF4;>}/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number>10/span>span stylecolor: #D8DEE9FF;> }/span>/div>div classline>span stylecolor:#4c566a; text-align: right; -webkit-user-select: none; user-select: none; classline-number>11/span>span stylecolor: #81A1C1;>/>/span>/div>/code>/pre>/div> p classmt-4 text-sm text-center text-slate-400>Huge import files? a classunderline text-cyan-400 hover:text-cyan-300 hrefhttps://importok.io/docs/webhooks>Process imports in batches/a>./p> /div> /div> /div> /div>/section>!-- Install it locally -->section classpy-16 grid-background bg-gradient-to-br from-cyan-50 to-teal-50> div classcontainer px-5 mx-auto text-center> div classmb-8> div classtext-3xl font-bold text-cyan-900>Install it locally/div> p classmt-4 text-xl tracking-wider text-cyan-700>Available for your favorite stack/p> /div> div classflex flex-wrap justify-center gap-4> a classp-6 transition-all duration-200 bg-white border rounded-lg shadow-sm border-cyan-200 hover:border-cyan-300 hover:shadow-md hrefhttps://importok.io/docs/react> svg classw-12 h-12 roleimg viewBox0 0 24 24 xmlnshttp://www.w3.org/2000/svg fill#61DAFB>title>Use importOK with React/title>path dM12 9.861A2.139 2.139 0 1 0 12 14.139 2.139 2.139 0 1 0 12 9.861zM6.008 16.255l-.472-.12C2.018 15.246 0 13.737 0 11.996s2.018-3.25 5.536-4.139l.472-.119.133.468a23.53 23.53 0 0 0 1.363 3.578l.101.213-.101.213a23.307 23.307 0 0 0-1.363 3.578l-.133.467zM5.317 8.95c-2.674.751-4.315 1.9-4.315 3.046 0 1.145 1.641 2.294 4.315 3.046a24.95 24.95 0 0 1 1.182-3.046A24.752 24.752 0 0 1 5.317 8.95zM17.992 16.255l-.133-.469a23.357 23.357 0 0 0-1.364-3.577l-.101-.213.101-.213a23.42 23.42 0 0 0 1.364-3.578l.133-.468.473.119c3.517.889 5.535 2.398 5.535 4.14s-2.018 3.25-5.535 4.139l-.473.12zm-.491-4.259c.48 1.039.877 2.06 1.182 3.046 2.675-.752 4.315-1.901 4.315-3.046 0-1.146-1.641-2.294-4.315-3.046a24.788 24.788 0 0 1-1.182 3.046zM5.31 8.945l-.133-.467C4.188 4.992 4.488 2.494 6 1.622c1.483-.856 3.864.155 6.359 2.716l.34.349-.34.349a23.552 23.552 0 0 0-2.422 2.967l-.135.193-.235.02a23.657 23.657 0 0 0-3.785.61l-.472.119zm1.896-6.63c-.268 0-.505.058-.705.173-.994.573-1.17 2.565-.485 5.253a25.122 25.122 0 0 1 3.233-.501 24.847 24.847 0 0 1 2.052-2.544c-1.56-1.519-3.037-2.381-4.095-2.381zM16.795 22.677c-.001 0-.001 0 0 0-1.425 0-3.255-1.073-5.154-3.023l-.34-.349.34-.349a23.53 23.53 0 0 0 2.421-2.968l.135-.193.234-.02a23.63 23.63 0 0 0 3.787-.609l.472-.119.134.468c.987 3.484.688 5.983-.824 6.854a2.38 2.38 0 0 1-1.205.308zm-4.096-3.381c1.56 1.519 3.037 2.381 4.095 2.381h.001c.267 0 .505-.058.704-.173.994-.573 1.171-2.566.485-5.254a25.02 25.02 0 0 1-3.234.501 24.674 24.674 0 0 1-2.051 2.545zM18.69 8.945l-.472-.119a23.479 23.479 0 0 0-3.787-.61l-.234-.02-.135-.193a23.414 23.414 0 0 0-2.421-2.967l-.34-.349.34-.349C14.135 1.778 16.515.767 18 1.622c1.512.872 1.812 3.37.824 6.855l-.134.468zM14.75 7.24c1.142.104 2.227.273 3.234.501.686-2.688.509-4.68-.485-5.253-.988-.571-2.845.304-4.8 2.208A24.849 24.849 0 0 1 14.75 7.24zM7.206 22.677A2.38 2.38 0 0 1 6 22.369c-1.512-.871-1.812-3.369-.823-6.854l.132-.468.472.119c1.155.291 2.429.496 3.785.609l.235.02.134.193a23.596 23.596 0 0 0 2.422 2.968l.34.349-.34.349c-1.898 1.95-3.728 3.023-5.151 3.023zm-1.19-6.427c-.686 2.688-.509 4.681.485 5.254.987.563 2.843-.305 4.8-2.208a24.998 24.998 0 0 1-2.052-2.545 24.976 24.976 0 0 1-3.233-.501zM12 16.878c-.823 0-1.669-.036-2.516-.106l-.235-.02-.135-.193a30.388 30.388 0 0 1-1.35-2.122 30.354 30.354 0 0 1-1.166-2.228l-.1-.213.1-.213a30.3 30.3 0 0 1 1.166-2.228c.414-.716.869-1.43 1.35-2.122l.135-.193.235-.02a29.785 29.785 0 0 1 5.033 0l.234.02.134.193a30.006 30.006 0 0 1 2.517 4.35l.101.213-.101.213a29.6 29.6 0 0 1-2.517 4.35l-.134.193-.234.02c-.847.07-1.694.106-2.517.106zm-2.197-1.084c1.48.111 2.914.111 4.395 0a29.006 29.006 0 0 0 2.196-3.798 28.585 28.585 0 0 0-2.197-3.798 29.031 29.031 0 0 0-4.394 0 28.477 28.477 0 0 0-2.197 3.798 29.114 29.114 0 0 0 2.197 3.798z/>/svg> /a> a classp-6 transition-all duration-200 bg-white border rounded-lg shadow-sm border-cyan-200 hover:border-cyan-300 hover:shadow-md hrefhttps://importok.io/docs/nextjs> svg classw-12 h-12 roleimg viewBox.5 -.2 1023 1024.1 xmlnshttp://www.w3.org/2000/svg fill#000000>title>Use importOK with Next.js/title>path dm478.5.6c-2.2.2-9.2.9-15.5 1.4-145.3 13.1-281.4 91.5-367.6 212-48 67-78.7 143-90.3 223.5-4.1 28.1-4.6 36.4-4.6 74.5s.5 46.4 4.6 74.5c27.8 192.1 164.5 353.5 349.9 413.3 33.2 10.7 68.2 18 108 22.4 15.5 1.7 82.5 1.7 98 0 68.7-7.6 126.9-24.6 184.3-53.9 8.8-4.5 10.5-5.7 9.3-6.7-.8-.6-38.3-50.9-83.3-111.7l-81.8-110.5-102.5-151.7c-56.4-83.4-102.8-151.6-103.2-151.6-.4-.1-.8 67.3-1 149.6-.3 144.1-.4 149.9-2.2 153.3-2.6 4.9-4.6 6.9-8.8 9.1-3.2 1.6-6 1.9-21.1 1.9h-17.3l-4.6-2.9c-3-1.9-5.2-4.4-6.7-7.3l-2.1-4.5.2-200.5.3-200.6 3.1-3.9c1.6-2.1 5-4.8 7.4-6.1 4.1-2 5.7-2.2 23-2.2 20.4 0 23.8.8 29.1 6.6 1.5 1.6 57 85.2 123.4 185.9s157.2 238.2 201.8 305.7l81 122.7 4.1-2.7c36.3-23.6 74.7-57.2 105.1-92.2 64.7-74.3 106.4-164.9 120.4-261.5 4.1-28.1 4.6-36.4 4.6-74.5s-.5-46.4-4.6-74.5c-27.8-192.1-164.5-353.5-349.9-413.3-32.7-10.6-67.5-17.9-106.5-22.3-9.6-1-75.7-2.1-84-1.3zm209.4 309.4c4.8 2.4 8.7 7 10.1 11.8.8 2.6 1 58.2.8 183.5l-.3 179.8-31.7-48.6-31.8-48.6v-130.7c0-84.5.4-132 1-134.3 1.6-5.6 5.1-10 9.9-12.6 4.1-2.1 5.6-2.3 21.3-2.3 14.8 0 17.4.2 20.7 2z/>path dm784.3 945.1c-3.5 2.2-4.6 3.7-1.5 2 2.2-1.3 5.8-4 5.2-4.1-.3 0-2 1-3.7 2.1zm-6.9 4.5c-1.8 1.4-1.8 1.5.4.4 1.2-.6 2.2-1.3 2.2-1.5 0-.8-.5-.6-2.6 1.1zm-5 3c-1.8 1.4-1.8 1.5.4.4 1.2-.6 2.2-1.3 2.2-1.5 0-.8-.5-.6-2.6 1.1zm-5 3c-1.8 1.4-1.8 1.5.4.4 1.2-.6 2.2-1.3 2.2-1.5 0-.8-.5-.6-2.6 1.1zm-7.6 4c-3.8 2-3.6 2.8.2.9 1.7-.9 3-1.8 3-2 0-.7-.1-.6-3.2 1.1z/>/svg> /a> a classp-6 transition-all duration-200 bg-white border rounded-lg shadow-sm border-cyan-200 hover:border-cyan-300 hover:shadow-md hrefhttps://importok.io/docs/vuejs> svg classw-12 h-12 roleimg viewBox0 0 512 512 xmlnshttp://www.w3.org/2000//svg fill#4FC08D>title>Use importOK with Vue.js/title>polygon points256 144.03 200.51 47.92 121.08 47.92 256 281.61 390.92 47.92 311.49 47.92 256 144.03/>polygon points409.4 47.92 256 313.61 102.6 47.92 15.74 47.92 256 464.08 496.26 47.92 409.4 47.92/>/svg> /a> a classp-6 transition-all duration-200 bg-white border rounded-lg shadow-sm border-cyan-200 hover:border-cyan-300 hover:shadow-md hrefhttps://importok.io/docs/angular> svg classw-12 h-12 roleimg viewBox0 0 24 24 xmlnshttp://www.w3.org/2000//svg fill#DD0031>title>Use importOK with Angular/title>path dM9.93 12.645h4.134L11.996 7.74M11.996.009L.686 3.988l1.725 14.76 9.585 5.243 9.588-5.238L23.308 3.99 11.996.01zm7.058 18.297h-2.636l-1.42-3.501H8.995l-1.42 3.501H4.937l7.06-15.648 7.057 15.648z/>/svg> /a> a classhidden p-6 transition-all duration-200 bg-white border rounded-lg shadow-sm md:block border-cyan-200 hover:border-cyan-300 hover:shadow-md hrefhttps://importok.io/docs/web-component> svg classw-12 h-12 roleimg viewBox0 0 512 512 xmlnshttp://www.w3.org/2000//svg fill#29ABE2>title>Use importOK as a Web Component/title>polygon points179.9 388 179.9 388 103.74 256 179.9 388 stylefill:none/>polygon points179.9 388 332.11 388 408.26 256 332.11 124 179.9 124 103.74 256 179.9 388 stylefill:none/>polygon points103.74 256 179.9 124 179.9 124 103.74 256 stylefill:none/>polygon points496 256 376 48 239.74 48 195.9 124 332.11 124 408.26 256 332.11 388 195.9 388 239.74 464 376 464 496 256/>polygon points179.9 388 103.74 256 179.9 124 179.9 124 223.74 48 136 48 16 256 136 464 223.74 464 179.9 388 179.9 388/>/svg> /a> a classp-6 transition-all duration-200 bg-white border rounded-lg shadow-sm border-cyan-200 hover:border-cyan-300 hover:shadow-md hrefhttps://importok.io/docs/javascript> svg classw-12 h-12 roleimg viewBox0 0 512 512 xmlnshttp://www.w3.org/2000//svg fill#F7DF1E>title>Use importOK with vanilla Javascript/title>path dM32,32V480H480V32ZM272,380c0,43.61-25.76,64.87-63.05,64.87-33.68,0-53.23-17.44-63.15-38.49h0l34.28-20.75c6.61,11.73,11.63,21.65,26.06,21.65,12,0,21.86-5.41,21.86-26.46V240h44Zm99.35,63.87c-39.09,0-64.35-17.64-76.68-42h0L329,382c9,14.74,20.75,24.56,41.5,24.56,17.44,0,27.57-7.72,27.57-19.75,0-14.43-10.43-19.54-29.68-28l-10.52-4.52c-30.38-12.92-50.52-29.16-50.52-63.45,0-31.57,24.05-54.63,61.64-54.63,26.77,0,46,8.32,59.85,32.68L396,290c-7.22-12.93-15-18-27.06-18-12.33,0-20.15,7.82-20.15,18,0,12.63,7.82,17.74,25.86,25.56l10.52,4.51c35.79,15.34,55.94,31,55.94,66.16C441.12,424.13,411.35,443.87,371.35,443.87Z/>/svg> /a> /div> /div>/section>!-- Features -->section classrelative py-24 bg-gradient-to-b from-white via-slate-50 to-slate-100 border-t border-slate-200> div classcontainer px-4 mx-auto> div classmax-w-3xl mx-auto mb-16 text-center> h2 classmb-6 text-4xl font-bold bg-gradient-to-r from-slate-900 to-cyan-900 bg-clip-text text-transparent>Seamless CSV Import Experience/h2> p classtext-xl leading-relaxed text-slate-600>Built for developers, designed for end-users/p> /div> div classgrid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-3> !-- Smart Mapping --> div classh-full p-8 transition-all duration-300 bg-white border shadow-sm rounded-2xl border-slate-200/50 hover:shadow-xl> div classflex items-start justify-between mb-6> h3 classtext-xl font-bold text-slate-900>Smart mapping/h3> div classflex-shrink-0 w-10 h-10 bg-blue-500 rounded-xl flex items-center justify-center shadow-lg> svg classw-6 h-6 text-white stroke-2 xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon> path stroke-linecapround stroke-linejoinround dm6.75 7.5 3 2.25-3 2.25m4.5 0h3m-9 8.25h13.5A2.25 2.25 0 0 0 21 18V6a2.25 2.25 0 0 0-2.25-2.25H5.25A2.25 2.25 0 0 0 3 6v12a2.25 2.25 0 0 0 2.25 2.25Z/>/svg> /div> /div> p classleading-relaxed text-slate-600>Never manual map excel columns again. Columns are automatically matched based on your data model./p>/div> !-- Data Normalization --> div classh-full p-8 transition-all duration-300 bg-white border shadow-sm rounded-2xl border-slate-200/50 hover:shadow-xl> div classflex items-start justify-between mb-6> h3 classtext-xl font-bold text-slate-900>Data normalization/h3> div classflex-shrink-0 w-10 h-10 bg-emerald-500 rounded-xl flex items-center justify-center shadow-lg> svg classw-6 h-6 text-white stroke-2 xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon> path stroke-linecapround stroke-linejoinround dM20.25 6.375c0 2.278-3.694 4.125-8.25 4.125S3.75 8.653 3.75 6.375m16.5 0c0-2.278-3.694-4.125-8.25-4.125S3.75 4.097 3.75 6.375m16.5 0v11.25c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125V6.375m16.5 0v3.75m-16.5-3.75v3.75m16.5 0v3.75C20.25 16.153 16.556 18 12 18s-8.25-1.847-8.25-4.125v-3.75m16.5 0c0 2.278-3.694 4.125-8.25 4.125s-8.25-1.847-8.25-4.125/>/svg> /div> /div> p classleading-relaxed text-slate-600>Ensure that the import data are in the right format. From date and number formatting to asynchronous API calls./p>/div> !-- Real-time Validation --> div classh-full p-8 transition-all duration-300 bg-white border shadow-sm rounded-2xl border-slate-200/50 hover:shadow-xl> div classflex items-start justify-between mb-6> h3 classtext-xl font-bold text-slate-900>Real-time validation/h3> div classflex-shrink-0 w-10 h-10 bg-red-500 rounded-xl flex items-center justify-center shadow-lg> svg classw-6 h-6 text-white stroke-2 xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon> path stroke-linecapround stroke-linejoinround dM9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z/>/svg> /div> /div> p classleading-relaxed text-slate-600>Reduce feedback cycles for imports. Provide real-time validations and allow your customers to adjust accordingly./p>/div> !-- Multiple Data Sources --> div classh-full p-8 transition-all duration-300 bg-white border shadow-sm rounded-2xl border-slate-200/50 hover:shadow-xl> div classflex items-start justify-between mb-6> h3 classtext-xl font-bold text-slate-900>Multiple data sources/h3> div classflex-shrink-0 w-10 h-10 bg-purple-500 rounded-xl flex items-center justify-center shadow-lg> svg classw-6 h-6 text-white stroke-2 xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon> path stroke-linecapround stroke-linejoinround dM3 16.5v2.25A2.25 2.25 0 0 0 5.25 21h13.5A2.25 2.25 0 0 0 21 18.75V16.5m-13.5-9L12 3m0 0 4.5 4.5M12 3v13.5/>/svg> /div> /div> p classleading-relaxed text-slate-600>Skip a step in your import process by allowing your customers to upload Excel files. Both Excel and CSV files are supported./p>/div> !-- API Ready --> div classh-full p-8 transition-all duration-300 bg-white border shadow-sm rounded-2xl border-slate-200/50 hover:shadow-xl> div classflex items-start justify-between mb-6> h3 classtext-xl font-bold text-slate-900>API Ready/h3> div classflex-shrink-0 w-10 h-10 bg-orange-500 rounded-xl flex items-center justify-center shadow-lg> svg classw-6 h-6 text-white stroke-2 xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon> path stroke-linecapround stroke-linejoinround dM14.25 9.75 16.5 12l-2.25 2.25m-4.5 0L7.5 12l2.25-2.25M6 20.25h12A2.25 2.25 0 0 0 20.25 18V6A2.25 2.25 0 0 0 18 3.75H6A2.25 2.25 0 0 0 3.75 6v12A2.25 2.25 0 0 0 6 20.25Z/>/svg> /div> /div> p classleading-relaxed text-slate-600>Having an API in place already? Avoid manipulating data on backend and push clean data directly to your API. Simple as that./p>/div> !-- Configuration --> div classh-full p-8 transition-all duration-300 bg-white border shadow-sm rounded-2xl border-slate-200/50 hover:shadow-xl> div classflex items-start justify-between mb-6> h3 classtext-xl font-bold text-slate-900>Configuration/h3> div classflex-shrink-0 w-10 h-10 bg-teal-500 rounded-xl flex items-center justify-center shadow-lg> svg classw-6 h-6 text-white stroke-2 xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon> path stroke-linecapround stroke-linejoinround dM9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z/> path stroke-linecapround stroke-linejoinround dM15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z/>/svg> /div> /div> p classleading-relaxed text-slate-600>Customize importOK to meet your needs. Define your data models and callbacks for data normalizations and validations./p>/div> !-- Intuitive Data Editor --> div classh-full p-8 transition-all duration-300 bg-white border shadow-sm rounded-2xl border-slate-200/50 hover:shadow-xl> div classflex items-start justify-between mb-6> h3 classtext-xl font-bold text-slate-900>Intuitive data editor/h3> div classflex-shrink-0 w-10 h-10 bg-indigo-500 rounded-xl flex items-center justify-center shadow-lg> svg classw-6 h-6 text-white stroke-2 xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon> path stroke-linecapround stroke-linejoinround dm16.862 4.487 1.687-1.688a1.875 1.875 0 1 1 2.652 2.652L10.582 16.07a4.5 4.5 0 0 1-1.897 1.13L6 18l.8-2.685a4.5 4.5 0 0 1 1.13-1.897l8.932-8.931Zm0 0L19.5 7.125M18 14v4.75A2.25 2.25 0 0 1 15.75 21H5.25A2.25 2.25 0 0 1 3 18.75V8.25A2.25 2.25 0 0 1 5.25 6H10/>/svg> /div> /div> p classleading-relaxed text-slate-600>Fine-tuning needed? Your users can adjust the data without leaving the browser, using importOK sleek editor./p>/div> !-- Data Protection --> div classh-full p-8 transition-all duration-300 bg-white border shadow-sm rounded-2xl border-slate-200/50 hover:shadow-xl> div classflex items-start justify-between mb-6> h3 classtext-xl font-bold text-slate-900>Data protection/h3> div classflex-shrink-0 w-10 h-10 bg-green-500 rounded-xl flex items-center justify-center shadow-lg> svg classw-6 h-6 text-white stroke-2 xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon> path stroke-linecapround stroke-linejoinround dM9 12.75 11.25 15 15 9.75m-3-7.036A11.959 11.959 0 0 1 3.598 6 11.99 11.99 0 0 0 3 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285Z/>/svg> /div> /div> p classleading-relaxed text-slate-600>Imported data never reaches our servers. Everything happens in the browser. GDPR compliant./p>/div> !-- Full Refund --> div classh-full p-8 transition-all duration-300 bg-white border shadow-sm rounded-2xl border-slate-200/50 hover:shadow-xl> div classflex items-start justify-between mb-6> h3 classtext-xl font-bold text-slate-900>Full Refund/h3> div classflex-shrink-0 w-10 h-10 bg-amber-500 rounded-xl flex items-center justify-center shadow-lg> svg classw-6 h-6 text-white stroke-2 xmlnshttp://www.w3.org/2000/svg fillnone viewBox0 0 24 24 stroke-width1.5 strokecurrentColor aria-hiddentrue data-sloticon> path stroke-linecapround stroke-linejoinround dM6.633 10.25c.806 0 1.533-.446 2.031-1.08a9.041 9.041 0 0 1 2.861-2.4c.723-.384 1.35-.956 1.653-1.715a4.498 4.498 0 0 0 .322-1.672V2.75a.75.75 0 0 1 .75-.75 2.25 2.25 0 0 1 2.25 2.25c0 1.152-.26 2.243-.723 3.218-.266.558.107 1.282.725 1.282m0 0h3.126c1.026 0 1.945.694 2.054 1.715.045.422.068.85.068 1.285a11.95 11.95 0 0 1-2.649 7.521c-.388.482-.987.729-1.605.729H13.48c-.483 0-.964-.078-1.423-.23l-3.114-1.04a4.501 4.501 0 0 0-1.423-.23H5.904m10.598-9.75H14.25M5.904 18.5c.083.205.173.405.27.602.197.4-.078.898-.523.898h-.908c-.889 0-1.713-.518-1.972-1.368a12 12 0 0 1-.521-3.507c0-1.553.295-3.036.831-4.398C3.387 9.953 4.167 9.5 5 9.5h1.053c.472 0 .745.556.5.96a8.958 8.958 0 0 0-1.302 4.665c0 1.194.232 2.333.654 3.375Z/>/svg> /div> /div> p classleading-relaxed text-slate-600>We're happy to refund your purchase within 30 days if you find it doesn't fit your needs./p>/div> /div> /div>/section>!-- Designed for end-users -->section classrelative py-24 border-t bg-gradient-to-b from-slate-50 to-white border-slate-200> div classcontainer px-4 mx-auto> div classmax-w-3xl mb-20> h2 classmb-6 text-4xl font-bold text-transparent bg-gradient-to-r from-slate-900 to-cyan-900 bg-clip-text>Designed for end-users/h2> p classtext-xl leading-relaxed text-slate-600>Our intuitive interface allows your customers to import data in a few clicks.br>No more manual mapping and data manipulation./p> /div> div classspace-y-32> !-- File uploads --> div classgrid items-center gap-16 lg:grid-cols-2> div classspace-y-8> div classinline-flex items-center px-4 py-2 text-sm font-medium text-blue-800 bg-blue-100 rounded-full> svg classw-4 h-4 mr-2 fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM3 17a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1zM6.293 6.707a1 1 0 010-1.414l3-3a1 1 0 011.414 0l3 3a1 1 0 01-1.414 1.414L11 5.414V13a1 1 0 11-2 0V5.414L7.707 6.707a1 1 0 01-1.414 0z clip-ruleevenodd/> /svg> File Uploads /div> h3 classtext-3xl font-bold text-slate-900>Flexible Imports/h3> p classtext-lg leading-relaxed text-slate-600>Let your users upload CSV or Excel files straight into your app. Column order isnt important, and headers are optional – making the import process flexible and user-friendly./p> div classgrid gap-4 sm:grid-cols-2> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-blue-500 to-indigo-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>CSV files/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-blue-500 to-indigo-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Excel files/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-blue-500 to-indigo-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>UTF-8 support/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-blue-500 to-indigo-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Sheet selection/span> /div> /div> /div> div classrelative> img srchttps://importok.io/assets/upload-import-excel-csv.png altFile upload area for both Excel and CSV files titleUpload and Import both Excel and CSV files classw-full /> /div> /div> !-- Smart mapping --> div classgrid items-center gap-16 lg:grid-cols-2> div classrelative order-2 lg:order-1> img srchttps://importok.io/assets/automated-smart-mapping.png altSmart mapping between source and target columns titleSmart mapping between source and target columns classw-full /> /div> div classorder-1 space-y-8 lg:order-2> div classinline-flex items-center px-4 py-2 text-sm font-medium rounded-full bg-emerald-100 text-emerald-800> svg classw-4 h-4 mr-2 fillcurrentColor viewBox0 0 24 24> path fill-ruleevenodd dM9.813 15.904 9 18.75l-.813-2.846a4.5 4.5 0 0 0-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 0 0 3.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 0 0 3.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 0 0-3.09 3.09ZM18.259 8.715 18 9.75l-.259-1.035a3.375 3.375 0 0 0-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 0 0 2.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 0 0 2.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 0 0-2.456 2.456ZM16.894 20.567 16.5 21.75l-.394-1.183a2.25 2.25 0 0 0-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 0 0 1.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 0 0 1.423 1.423l1.183.394-1.183.394a2.25 2.25 0 0 0-1.423 1.423Z clip-ruleevenodd/> /svg> Intelligent Matching /div> h3 classtext-3xl font-bold text-slate-900>AI Mapping/h3> p classtext-lg leading-relaxed text-slate-600>AI mapping takes care of matching source and target columns, so theres less manual work for your users. Making the process as smooth as possible./p> div classgrid gap-4 sm:grid-cols-2> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-emerald-500 to-teal-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Automated mapping/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-emerald-500 to-teal-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Fuzzy search/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-emerald-500 to-teal-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Click to manual map/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-emerald-500 to-teal-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>AI-powered suggestions/span> /div> /div> /div> /div> !-- Real-time validations --> div classgrid items-center gap-16 lg:grid-cols-2> div classspace-y-8> div classinline-flex items-center px-4 py-2 text-sm font-medium text-orange-800 bg-orange-100 rounded-full> svg classw-4 h-4 mr-2 fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM11.3 1.046A1 1 0 0112 2v5h4a1 1 0 01.82 1.573l-7 10A1 1 0 018 18v-5H4a1 1 0 01-.82-1.573l7-10a1 1 0 011.12-.38z clip-ruleevenodd/> /svg> Instant Feedback /div> h3 classtext-3xl font-bold text-slate-900>Real-time validations/h3> p classtext-lg leading-relaxed text-slate-600>Every cell is checked in real-time as users go through the import. If somethings off, clear and helpful feedback appears right in the wizard, so they can fix it on the spot./p> div classgrid gap-4 sm:grid-cols-2> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-orange-500 to-red-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Instant feedback/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-orange-500 to-red-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Filter by error/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-orange-500 to-red-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Find & Replace/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-orange-500 to-red-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Export errors in Excel/span> /div> /div> /div> div classrelative> img srchttps://importok.io/assets/data-validator.png titleInstead feedback for errors with the option to filter by error altData editor providing instant feedback for data errors classw-full /> /div> /div> !-- Fast imports --> div classgrid items-center gap-16 lg:grid-cols-2> div classrelative order-2 lg:order-1> img srchttps://importok.io/assets/upload-import-completed.png altImport overview titleImport overview classw-full /> /div> div classorder-1 space-y-8 lg:order-2> div classinline-flex items-center px-4 py-2 text-sm font-medium rounded-full text-violet-800 bg-violet-100> svg classw-4 h-4 mr-2 fillcurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround dM15.59 14.37a6 6 0 0 1-5.84 7.38v-4.8m5.84-2.58a14.98 14.98 0 0 0 6.16-12.12A14.98 14.98 0 0 0 9.631 8.41m5.96 5.96a14.926 14.926 0 0 1-5.841 2.58m-.119-8.54a6 6 0 0 0-7.381 5.84h4.8m2.581-5.84a14.927 14.927 0 0 0-2.58 5.84m2.699 2.7c-.103.021-.207.041-.311.06a15.09 15.09 0 0 1-2.448-2.448 14.9 14.9 0 0 1 .06-.312m-2.24 2.39a4.493 4.493 0 0 0-1.757 4.306 4.493 4.493 0 0 0 4.306-1.758M16.5 9a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z /> /svg> Parallel Processing /div> h3 classtext-3xl font-bold text-slate-900>Fast imports!/h3> p classtext-lg leading-relaxed text-slate-600>Import records one by one or in parallel – whichever fits your flow. Real-time feedback keeps you updated as each record is processed, so youre always in control./p> div classgrid gap-4 sm:grid-cols-2> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-violet-500 to-purple-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Import overview/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-violet-500 to-purple-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Reports unexpected errors/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-violet-500 to-purple-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Bulk, in parallel processing/span> /div> div classflex items-center p-3 space-x-3 bg-white border rounded-lg border-slate-200/50> div classflex items-center justify-center flex-shrink-0 w-8 h-8 rounded-lg bg-gradient-to-r from-violet-500 to-purple-600> svg classw-4 h-4 text-white fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z clip-ruleevenodd/> /svg> /div> span classfont-medium text-slate-700>Download rows rejected by the API/span> /div> /div> /div> /div> /div> /div>/section>!-- Ready to get started? -->section classpy-16 grid-background bg-gradient-to-br from-cyan-50 to-teal-50 mt-16 border-t border-slate-200> div classcontainer px-5 mx-auto text-center> div classpx-4 text-3xl font-bold md:text-4xl text-cyan-900>Ready to get started?/div> h2 classpx-4 my-3 text-xl font-medium md:text-2xl text-cyan-700>Save countless development hours/h2> div classpx-4 mt-8 text-xl md:text-2x> a hrefhttps://importok.io/pricing titleGet lifetime access with our limited-time discount. classinline-flex items-center w-auto px-8 py-4 text-white border-2 rounded-lg shadow-xl bg-gradient-to-r from-cyan-500 to-sky-600 border-cyan-500 md:mb-2 lg:mb-0 hover:from-cyan-500 hover:to-sky-700 hover:shadow-2xl hover:scale-105> Get importOK svg classw-5 h-5 ml-2 viewBox0 0 24 24 strokecurrentColor stroke-width2 fillnone stroke-linecapround stroke-linejoinround> path dM5 12h14>/path> path dM12 5l7 7-7 7>/path> /svg> /a> span classblock mt-4 text-sm text-cyan-600>p>strong>Free/strong> trial available./p>/span> /div> /div>/section> footer classrelative overflow-hidden text-white bg-gradient-to-br from-slate-900 via-slate-800 to-cyan-900> !-- Background pattern --> div classabsolute inset-0 bg-radial-gradient(circle_at_50%_120%,rgba(14,165,233,0.1),transparent_50%)>/div> div classabsolute inset-0 bg-radial-gradient(circle_at_80%_20%,rgba(34,197,94,0.05),transparent_50%)>/div> !-- Content --> div classcontainer relative px-4 py-16 mx-auto> !-- Links grid --> div classgrid grid-cols-1 gap-8 mb-12 md:grid-cols-2 lg:grid-cols-4> div classspace-y-6> div> h4 classmb-4 text-lg font-bold text-cyan-400>Examples/h4> ul classspace-y-3> li>a hrefhttps://importok.io/docs/react classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> React /a>/li> li>a hrefhttps://importok.io/docs/nextjs classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> Next.js /a>/li> li>a hrefhttps://importok.io/docs/vuejs classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> VueJS /a>/li> li>a hrefhttps://importok.io/docs/angular classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> Angular /a>/li> li>a hrefhttps://importok.io/docs/web-component classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> Web Component /a>/li> li>a hrefhttps://importok.io/docs/javascript classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> Javascript /a>/li> /ul> /div> /div> div> h4 classmb-4 text-lg font-bold text-cyan-400>Product/h4> ul classspace-y-3> li>a hrefhttps://importok.io/about classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> About importOK /a>/li> li>a hrefhttps://importok.io/pricing classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> Pricing /a>/li> li>a hrefhttps://importok.io/demo classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> Demo /a>/li> li>a hrefhttps://importok.io/blog classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> Blog /a>/li> li>a hrefhttps://importok.io/docs/get-started classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> Documentation /a>/li> li>a hrefhttps://importok.io/changelog classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> Changelog /a>/li> /ul> /div> div> h4 classmb-4 text-lg font-bold text-cyan-400>Packages/h4> ul classspace-y-3> li>a hrefhttps://www.npmjs.com/package/@importok/javascript target_blank classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> @importok/javascript /a>/li> li>a hrefhttps://www.npmjs.com/package/@importok/react target_blank classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> @importok/react /a>/li> li>a hrefhttps://www.npmjs.com/package/@importok/vue target_blank classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> @importok/vue /a>/li> li>a hrefhttps://importok.io/docs/private-packages classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> Private Packages /a>/li> /ul> /div> div> h4 classmb-4 text-lg font-bold text-cyan-400>Alternatives/h4> ul classspace-y-3> li>a hrefhttps://importok.io/vs-flatfile classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> Flatfile Alternative /a>/li> li>a hrefhttps://importok.io/vs-oneschema classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> OneSchema Alternative /a>/li> li>a hrefhttps://importok.io/vs-csvbox classinline-flex items-center transition-all duration-200 text-slate-300 hover:text-cyan-400 hover:translate-x-1 group> span classw-1 h-1 mr-3 transition-all duration-200 rounded-full bg-cyan-400 group-hover:w-2>/span> CSVBox Alternative /a>/li> /ul> /div> /div> !-- Bottom section --> div classpy-8 border-t border-slate-700> div classflex flex-col items-center justify-between gap-6 md:flex-row md:items-start> !-- Left: Copyright and legal links --> div classflex flex-col gap-3 text-center md:text-left> div classtext-slate-400> © 2025 importOK. All rights reserved. /div> div classflex flex-wrap items-center justify-center gap-3 text-sm md:justify-start text-slate-400> a hrefhttps://importok.io/terms-and-conditions classtransition-colors duration-200 hover:text-cyan-400>Terms & Conditions/a> span classtext-slate-600>•/span> a hrefhttps://importok.io/privacy-policy classtransition-colors duration-200 hover:text-cyan-400>Privacy Policy/a> span classtext-slate-600>•/span> span classflex items-center gap-2> span>Made with/span> svg classw-4 h-4 text-red-500 animate-pulse fillcurrentColor viewBox0 0 20 20> path fill-ruleevenodd dM3.172 5.172a4 4 0 015.656 0L10 6.343l1.172-1.171a4 4 0 115.656 5.656L10 17.657l-6.828-6.829a4 4 0 010-5.656z clip-ruleevenodd/> /svg> span>for developers/span> /span> /div> /div> !-- Right: Connect icons and newsletter --> div classflex flex-col items-center gap-4 md:flex-row> div classflex gap-4> a hrefhttps://github.com/importok target_blank classrelative p-3 transition-all duration-200 border group bg-slate-800/50 border-slate-700 rounded-xl hover:bg-slate-700/50 hover:border-cyan-400 hover:scale-110> svg classw-6 h-6 transition-colors duration-200 text-slate-400 group-hover:text-cyan-400 viewBox0 0 24 24 fillcurrentColor> path dM12 0C5.374 0 0 5.373 0 12c0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0112 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z/> /svg> div classabsolute px-2 py-1 text-xs text-white transition-opacity duration-200 transform -translate-x-1/2 rounded opacity-0 -top-10 left-1/2 bg-slate-900 group-hover:opacity-100 whitespace-nowrap> GitHub /div> /a> a hrefhttps://www.linkedin.com/company/importok/ target_blank classrelative p-3 transition-all duration-200 border group bg-slate-800/50 border-slate-700 rounded-xl hover:bg-slate-700/50 hover:border-cyan-400 hover:scale-110> svg classw-6 h-6 transition-colors duration-200 text-slate-400 group-hover:text-cyan-400 viewBox0 0 24 24 fillcurrentColor> path dM20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z/> /svg> div classabsolute px-2 py-1 text-xs text-white transition-opacity duration-200 transform -translate-x-1/2 rounded opacity-0 -top-10 left-1/2 bg-slate-900 group-hover:opacity-100 whitespace-nowrap> LinkedIn /div> /a> a hrefhttps://www.npmjs.com/org/importok target_blank classrelative p-3 transition-all duration-200 border group bg-slate-800/50 border-slate-700 rounded-xl hover:bg-slate-700/50 hover:border-cyan-400 hover:scale-110> svg classw-6 h-6 transition-colors duration-200 text-slate-400 group-hover:text-cyan-400 viewBox0 0 24 24 fillcurrentColor> path dM0 7.334v8h6.666v1.332H12v-1.332h12v-8H0zm6.666 6.664H5.334v-4H3.999v4H1.335V8.667h5.331v5.331zm4 0v1.336H8.001V8.667h5.334v5.332h-2.669v-.001zm12.001 0h-1.33v-4h-1.336v4h-1.335v-4h-1.33v4h-2.671V8.667h8.002v5.331zM10.665 10H12v2.667h-1.335V10z/> /svg> div classabsolute px-2 py-1 text-xs text-white transition-opacity duration-200 transform -translate-x-1/2 rounded opacity-0 -top-10 left-1/2 bg-slate-900 group-hover:opacity-100 whitespace-nowrap> NPM /div> /a> /div> button @clickopenNewsletterModal true classinline-flex items-center px-6 py-3 text-sm font-medium text-white transition-all duration-200 border rounded-full border-cyan-400 bg-cyan-500/20 backdrop-blur-sm hover:bg-cyan-500/30 hover:border-cyan-300 hover:scale-105 focus:outline-none focus:ring-2 focus:ring-cyan-400 focus:ring-offset-2 focus:ring-offset-slate-900> svg classw-4 h-4 mr-2 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM3 8l7.89 4.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z/> /svg> Subscribe to Newsletter /button> /div> /div> /div> /div> /footer> !-- Newsletter Modal --> !-- Newsletter Modal -->div x-showopenNewsletterModal x-cloak x-effectif (openNewsletterModal) { document.documentElement.classList.add(overflow-hidden); document.body.classList.add(overflow-hidden); document.body.style.paddingRight window.innerWidth - document.documentElement.clientWidth + px; } else { document.documentElement.classList.remove(overflow-hidden); document.body.classList.remove(overflow-hidden); document.body.style.paddingRight ; } classfixed inset-0 z-1000001 aria-labelledbynewsletter-modal-title roledialog aria-modaltrue> !-- Background overlay --> div classfixed inset-0 bg-gray-500/50 backdrop-blur-sm @clickopenNewsletterModal false>/div> !-- Modal panel --> div classfixed inset-0 flex items-center justify-center p-4 text-center sm:p-0> div classrelative w-full max-w-lg mx-auto overflow-hidden text-left transition-all transform bg-white rounded-lg shadow-xl backdrop-blur-sm> !-- Close button --> div classabsolute top-0 right-0 z-10 pt-4 pr-4> button @clickopenNewsletterModal false typebutton classp-1 text-gray-400 rounded-md cursor-pointer hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-slate-300> span classsr-only>Close/span> svg classw-6 h-6 fillnone viewBox0 0 24 24 strokecurrentColor> path stroke-linecapround stroke-linejoinround stroke-width2 dM6 18L18 6M6 6l12 12 /> /svg> /button> /div> !-- Modal header --> div classpx-6 pt-6 pb-2> h3 idnewsletter-modal-title classtext-2xl font-bold text-slate-900> Subscribe to our newsletter /h3> p classmt-2 text-sm text-slate-600> Stay updated with the latest features, improvements, and tips for importOK. /p> /div> !-- Newsletter form --> div classpx-6 pb-6> iframe width100% height250 srchttps://cf2b22b0.sibforms.com/serve/MUIFANysGIwjiaRv4O8KjS4c9YKIba-nBNOUe2okDPQdZ3Kdp8Z248wc2pDTQNzlBjOnCyBY6bWWSZjmETsIR2djJLeIqn5pjeiJ5wskQ_trrnaAuYjuQUDO1z9d0NLQtM248lv11sl2HRGnxPWzfHDcaOZSLhZp4Uh8Hg4DHL2BrtVsbHjy7nt48CRuqo6ytSXvQwK3mmq6o1aH frameborder0 scrollingauto allowfullscreen classw-full rounded-md styledisplay: block; margin-left: auto; margin-right: auto; max-width: 100%;> /iframe> /div> /div> /div>/div> !-- Search Modal --> !-- Search Modal -->div x-data{ open: false, query: , results: , loading: false, selectedIndex: -1, init() { // Listen for Ctrl/Cmd+K to open search document.addEventListener(keydown, (e) > { if ((e.ctrlKey || e.metaKey) && e.key k) { e.preventDefault(); this.open true; this.$nextTick(() > { this.$refs.searchInput?.focus(); }); } // Close on Escape if (e.key Escape) { this.open false; this.query ; this.results ; this.selectedIndex -1; } }); }, performSearch() { if (!this.query.trim()) { this.results ; this.selectedIndex -1; return; } this.loading true; // Initialize Algolia search if not already done if (!window.searchClient) { if (!window.searchConfig.appId || !window.searchConfig.apiKey) { console.warn(Algolia credentials not configured); this.results { type: error, title: Search error, content: Unable to perform search. Please try again., url: # }; this.loading false; return; } const algoliasearch window.algoliasearch; window.searchClient algoliasearch(window.searchConfig.appId, window.searchConfig.apiKey); } // Perform search window.searchClient.searchSingleIndex({ indexName: window.searchConfig.indexName, searchParams: { query: this.query, hitsPerPage: 10, attributesToHighlight: title, content, attributesToSnippet: content:25, snippetEllipsisText: …, highlightPreTag: mark class\bg-yellow-100\>, highlightPostTag: /mark> } }).then(({ hits }) > { this.results hits.map(hit > ({ type: hit.type || doc, title: hit._highlightResult?.title?.value || hit.title, content: hit._snippetResult?.content?.value || hit._highlightResult?.content?.value || hit.content || hit.description, url: hit.url, section: hit.section })); this.selectedIndex (this.results.length > 0) ? 0 : -1; this.loading false; }).catch(error > { console.error(Search error:, error); this.results { type: error, title: Search error, content: Unable to perform search. Please try again., url: # }; this.loading false; }); }, selectResult(index) { if (this.resultsindex && this.resultsindex.url ! #) { const nextUrl this.resultsindex.url; // Cleanup search state this.open false; this.query ; this.results ; this.selectedIndex -1; window.location.href nextUrl; } }, handleKeydown(e) { if (e.key ArrowDown) { e.preventDefault(); this.selectedIndex Math.min(this.selectedIndex + 1, this.results.length - 1); // Make sure the selected item is in view const resultElements this.$refs.resultsContainer.querySelectorAll(.search-result); if (resultElementsthis.selectedIndex) { resultElementsthis.selectedIndex.scrollIntoView({block: end, inline: nearest, behavior: smooth}); } } else if (e.key ArrowUp) { e.preventDefault(); this.selectedIndex Math.max(this.selectedIndex - 1, -1); // Make sure the selected item is in view const resultElements this.$refs.resultsContainer.querySelectorAll(.search-result); if (resultElementsthis.selectedIndex) { resultElementsthis.selectedIndex.scrollIntoView({block: end, inline: nearest, behavior: smooth}); } } else if (e.key Enter) { e.preventDefault(); if (this.selectedIndex > 0) { this.selectResult(this.selectedIndex); } } } } x-cloak classfixed inset-0 z-50 overflow-y-auto x-showopen x-effectif (open) { document.documentElement.classList.add(overflow-hidden); document.body.classList.add(overflow-hidden); document.body.style.paddingRight window.innerWidth - document.documentElement.clientWidth + px; $nextTick(() > $refs.searchInput?.focus()); } else { document.documentElement.classList.remove(overflow-hidden); document.body.classList.remove(overflow-hidden); document.body.style.paddingRight ; }> !-- Backdrop --> div classfixed inset-0 bg-black/50 backdrop-blur-sm x-showopen @clickopen false; query ; results ; selectedIndex -1; >/div> !-- Modal --> div classflex items-start justify-center min-h-screen px-4 pt-24> div classrelative w-full max-w-2xl bg-white border rounded-lg shadow-xl border-slate-200 x-showopen > !-- Search Input --> div classflex items-center px-4 py-3 border-b border-slate-200> !-- Search Icon --> svg classw-5 h-5 mr-3 text-slate-400 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z>/path> /svg> !-- Input --> input x-refsearchInput x-modelquery typetext classflex-1 bg-transparent border-0 outline-none text-slate-900 placeholder-slate-500 placeholderSearch documentation... @inputperformSearch() @keydownhandleKeydown($event) > !-- Loading spinner --> div x-showloading classmr-3> svg classw-4 h-4 animate-spin text-slate-400 fillnone viewBox0 0 24 24> circle classopacity-25 cx12 cy12 r10 strokecurrentColor stroke-width4>/circle> path classopacity-75 fillcurrentColor dM4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z>/path> /svg> /div> !-- Keyboard shortcut hint --> div classitems-center hidden space-x-1 text-xs sm:flex text-slate-400> span classpx-2 py-1 rounded bg-slate-100 text-slate-600>Esc/span> span>to close/span> /div> /div> !-- Results --> div classoverflow-y-auto max-h-96> !-- Empty state --> div x-show!query.trim() && results.length 0 classp-8 text-center text-slate-500> svg classw-12 h-12 mx-auto mb-4 text-slate-300 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z>/path> /svg> p>Start typing to search documentation and articles.../p> div classmt-4 text-sm text-slate-400> span classinline-flex items-center space-x-1> span classpx-2 py-1 rounded bg-slate-100 text-slate-600>⌘K/span> span>or/span> span classpx-2 py-1 rounded bg-slate-100 text-slate-600>Ctrl+K/span> span>to open search/span> /span> /div> /div> !-- No results --> div x-showquery.trim() && results.length 0 && !loading classp-8 text-center text-slate-500> svg classw-12 h-12 mx-auto mb-4 text-slate-300 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM9.172 16.172a4 4 0 015.656 0M9 12h6m-6-4h6m2 5.291A7.962 7.962 0 0120 12a8 8 0 10-16 0 8 8 0 002.343 5.291L12 21l5.657-3.709z>/path> /svg> p>No results found for span x-textquery>/span>/p> p classmt-2 text-sm>Try different keywords or check your spelling./p> /div> !-- Search Results --> div x-showresults.length > 0 classoverflow-y-auto max-h-80 x-refresultsContainer> template x-for(result, index) in results :keyindex> div :class{ bg-slate-100 border-l-2 border-l-cyan-500: selectedIndex index, border-l-2 border-l-white: selectedIndex ! index } classpx-4 py-3 transition-colors border-b cursor-pointer border-slate-100 hover:bg-slate-50 search-result @clickselectResult(index) @mouseenterselectedIndex index > div classflex items-start space-x-3> !-- Icon based on type --> div classflex-shrink-0 mt-1> svg x-showresult.type doc classw-5 h-5 text-blue-500 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z>/path> /svg> svg x-showresult.type article classw-5 h-5 text-green-500 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM19 20H5a2 2 0 01-2-2V6a2 2 0 012-2h10a2 2 0 012 2v1m2 13a2 2 0 01-2-2V7m2 13a2 2 0 002-2V9a2 2 0 00-2-2h-2m-4-3H9M7 16h6M7 8h6v8H7V8z>/path> /svg> svg x-showresult.type error classw-5 h-5 text-red-500 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z>/path> /svg> /div> div classflex-1 min-w-0> !-- Title --> div classfont-medium truncate text-slate-900 x-htmlresult.title>/div> !-- Section --> div x-showresult.section classmt-1 text-xs text-slate-500 x-textresult.section>/div> !-- Content snippet --> div x-showresult.content classmt-2 text-sm text-slate-600 line-clamp-2 x-htmlresult.content>/div> /div> !-- Arrow --> div classflex-shrink-0 mt-1> svg classw-4 h-4 text-slate-400 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM9 5l7 7-7 7>/path> /svg> /div> /div> /div> /template> /div> !-- Keyboard navigation hint --> div x-showresults.length > 0 classpx-4 py-2 text-xs border-t text-slate-400 bg-slate-50 border-slate-200> Use ↑ ↓ arrow keys to navigate and Enter to select /div> /div> /div> /div>/div>!-- Algolia Search Script -->script>// Initialize search configurationwindow.searchConfig { appId: 50KGWM6LNA, apiKey: 0ad456266db5e79775eb846302f077e6, indexName: importok_docs};/script> script typetext/javascript> document.addEventListener(DOMContentLoaded, function() { document.getElementById(navbar-default-toggle).addEventListener(click, function () { document.getElementById(navbar-default).classList.toggle(hidden); }); }); /script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]