1<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">MuPDF.js</title><meta name="description" content="Bring fast, lightweight PDF processing to your web apps. MuPDF.js supports JavaScript and TypeScript with powerful features and WebAssembly performance. Install via npm and get started quickly." data-next-head=""/><meta property="og:title" content="MuPDF.js" data-next-head=""/><meta property="og:description" content="Bring fast, lightweight PDF processing to your web apps. MuPDF.js supports JavaScript and TypeScript with powerful features and WebAssembly performance. Install via npm and get started quickly." data-next-head=""/><meta property="og:url" content="https://mupdf.com/mupdf-js" data-next-head=""/><meta property="og:type" content="website" data-next-head=""/><meta property="og:site_name" content="MuPDF.com" data-next-head=""/><meta property="og:locale" content="en_US" data-next-head=""/><meta property="og:image" content="https://mupdf.com/app-assets/images/og_img.webp" data-next-head=""/><link rel="canonical" href="https://mupdf.com/mupdf-js" data-next-head=""/><link rel="preload" href="/_next/static/media/mupdfjs-bg.9d46f5ec.svg" as="image" data-next-head=""/><link rel="preload" href="/_next/static/media/mupdfjs-hero.00a44ae9.svg" as="image" data-next-head=""/><link rel="preload" href="/app-assets/images/footer/mupdf_footer_logo.svg" as="image" data-next-head=""/><link rel="preload" href="/_next/static/media/83afe278b6a6bb3c-s.p.3a6ba036.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/2f13ad8e538108e0-s.p.9b936cf7.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/Satoshi_Variable-s.p.fc536e90.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/Satoshi_VariableItalic-s.p.1733863a.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/Satoshi_Light-s.p.7098edd4.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/Satoshi_LightItalic-s.p.6269b419.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/Satoshi_Regular-s.p.8b170606.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/Satoshi_Italic-s.p.95209c75.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/Satoshi_Medium-s.p.eae7bb78.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/Satoshi_MediumItalic-s.p.3f447606.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/Satoshi_Bold-s.p.fc9d5d15.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/Satoshi_BoldItalic-s.p.9770ec13.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/Satoshi_Black-s.p.34b6b362.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/media/Satoshi_BlackItalic-s.p.683878aa.woff2" as="font" type="font/woff2" crossorigin="anonymous" data-next-font="size-adjust"/><link rel="preload" href="/_next/static/chunks/d30b8bced5efa7f9.css" as="style"/><link rel="preload" href="/_next/static/chunks/d5d9fe2582b4dd9d.css" as="style"/><link rel="stylesheet" href="/_next/static/chunks/d30b8bced5efa7f9.css" data-n-g=""/><link rel="stylesheet" href="/_next/static/chunks/d5d9fe2582b4dd9d.css" data-n-p=""/><noscript data-n-css=""></noscript>
1<script src="/_next/static/chunks/a94cd016b550d524.js" defer=""></script>
1<script src="/_next/static/chunks/ac37c68e3615da34.js" defer=""></script>
1<script src="/_next/static/chunks/7d5190111b0cc211.js" defer=""></script>
1<script src="/_next/static/chunks/2b370fccff32da35.js" defer=""></script>
1<script src="/_next/static/chunks/ec319270d811660d.js" defer=""></script>
1<script src="/_next/static/chunks/b23242e9eb0ac1c7.js" defer=""></script>
1<script src="/_next/static/chunks/d3a7224291b5e06a.js" defer=""></script>
1<script src="/_next/static/chunks/53d4e62a739821c3.js" defer=""></script>
1<script src="/_next/static/chunks/turbopack-acbf5dd46f9adbee.js" defer=""></script>
1<script src="/_next/static/chunks/569a0f2bfb8980af.js" defer=""></script>
1<script src="/_next/static/chunks/15ed102314b88f82.js" defer=""></script>
1<script src="/_next/static/chunks/6d91428e8fd8d517.js" defer=""></script>
1<script src="/_next/static/chunks/turbopack-570fd675c25c5918.js" defer=""></script>
1<script src="/_next/static/Ib3NnjmALQq6I5E4R0S2h/_ssgManifest.js" defer=""></script>
1<script src="/_next/static/Ib3NnjmALQq6I5E4R0S2h/_buildManifest.js" defer=""></script>
1<style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body class="satoshi_73dc615c-module__wbJCQW__variable"><link rel="preload" as="image" href="/_next/static/media/mupdfjs-bg.9d46f5ec.svg"/><link rel="preload" as="image" href="/_next/static/media/mupdfjs-hero.00a44ae9.svg"/><link rel="preload" as="image" href="/app-assets/images/footer/mupdf_footer_logo.svg"/><div id="__next"><main class="inter_cf7683d2-module__IX2Riq__variable roboto_mono_de2415ad-module__wGkMCW__variable roboto_mono_f860f582-module__TV2_tq__variable flex flex-col min-h-screen"><div class="xl:hidden"><div class="fixed inset-0 bg-black/40 backdrop-blur-xs transition-opacity duration-300 z-99998 opacity-0 pointer-events-none"></div><div class="fixed inset-y-0 right-0 w-full max-w-full bg-white shadow-xl transition-transform duration-300 z-99999 flex flex-col overflow-y-auto translate-x-full"><div class="bg-white mt-4 mb-4 md:mt-6 md:mb-6 flex flex-col gap-6 font-inter relative sm:p-10 p-6"><header class="flex items-center justify-between"><div class="flex items-center gap-2"><img alt="logo" loading="lazy" width="114" height="32" decoding="async" data-nimg="1" style="color:transparent" src="/app-assets/images/mupdf_logo.svg"/></div><div class="flex flex-row items-center justify-between gap-4"><div class="gap-3 hidden sm:flex flex-row items-center justify-center"><a class="flex justify-center items-center px-[30px] py-[10px] bg-[#F16625] text-white border border-[#F16625] rounded-[1000px] font-satoshi text-base font-bold leading-[135%] hover:bg-orange-600 transition-colors " href="/releases">Releases</a><a class="flex justify-center items-center px-[30px] py-[10px] bg-white text-[#F16625] border border-[#F16625] rounded-[1000px] font-satoshi text-base font-bold leading-[135%] hover:bg-orange-50 transition-colors " href="https://artifex.com/contact/mupdf">Contact Us</a></div><button aria-label="Close menu" class="xl:hidden shrink-0 p-2 rounded-full hover:bg-gray-100 transition"><img alt="menu" loading="lazy" width="24" height="24" decoding="async" data-nimg="1" style="color:transparent" src="/app-assets/images/cross.svg"/></button></div></header><nav class="flex flex-col gap-6"><a target="_blank" href="https://webviewer.mupdf.com"><div class="inline-flex items-center gap-1 cursor-pointer select-none font-inter text-base font-normal text-content-primary leading-none relative">WebViewer<span class="border border-[#FCE0D3] rounded-md py-0.5 px-1.5 2 text-[9px] md:text-[10px] leading-none font-medium text-[#F16625] " style="background:#FEF0E9 radial-gradient(98% 98% at 50.44% -20%, rgba(241,102,37,.5) 20%, rgba(255,255,255,0) 80%)">NEW</span><div class="absolute -top-3 -left-3 -right-3 -bottom-3 bg-tertiary rounded-xl z-[-1] cursor-pointer" style="opacity:0"></div></div></a><section><div class="inline-flex items-center gap-1 cursor-pointer select-none font-inter text-base font-normal text-content-primary leading-none relative">Products<img alt="caret-up" loading="lazy" width="16" height="16" decoding="async" data-nimg="1" class="transition-transform duration-300 rotate-180" style="color:transparent" src="/app-assets/images/caret-up.svg"/><div class="absolute -top-3 -left-3 -right-3 -bottom-3 bg-tertiary rounded-xl z-[-1] cursor-pointer" style="opacity:0"></div></div></section><a target="_blank" href="https://artifex.com/licensing"><div class="inline-flex items-center gap-1 cursor-pointer select-none font-inter text-base font-normal text-content-primary leading-none relative">Licensing<img alt="top-right-vector" loading="lazy" width="16" height="16" decoding="async" data-nimg="1" style="color:transparent" src="/app-assets/images/top-right-vector.svg"/><div class="absolute -top-3 -left-3 -right-3 -bottom-3 bg-tertiary rounded-xl z-[-1] cursor-pointer" style="opacity:0"></div></div></a><section><div class="inline-flex items-center gap-1 cursor-pointer select-none font-inter text-base font-normal text-content-primary leading-none relative">Docs<img alt="caret-up" loading="lazy" width="16" height="16" decoding="async" data-nimg="1" class="transition-transform duration-300 rotate-180" style="color:transparent" src="/app-assets/images/caret-up.svg"/><div class="absolute -top-3 -left-3 -right-3 -bottom-3 bg-tertiary rounded-xl z-[-1] cursor-pointer" style="opacity:0"></div></div></section><a target="_blank" href="http://forum.pymupdf.com/"><div class="inline-flex items-center gap-1 cursor-pointer select-none font-inter text-base font-normal text-content-primary leading-none relative">PyMuPDF Forum<img alt="top-right-vector" loading="lazy" width="16" height="16" decoding="async" data-nimg="1" style="color:transparent" src="/app-assets/images/top-right-vector.svg"/><div class="absolute -top-3 -left-3 -right-3 -bottom-3 bg-tertiary rounded-xl z-[-1] cursor-pointer" style="opacity:0"></div></div></a></nav><div class="mt-2 flex flex-col gap-3 sm:hidden"><a class="flex justify-center items-center px-[30px] py-[10px] bg-[#F16625] text-white border border-[#F16625] rounded-[1000px] font-satoshi text-base font-bold leading-[135%] hover:bg-orange-600 transition-colors " href="/releases">Releases</a><a class="flex justify-center items-center px-[30px] py-[10px] bg-white text-[#F16625] border border-[#F16625] rounded-[1000px] font-satoshi text-base font-bold leading-[135%] hover:bg-orange-50 transition-colors " href="https://artifex.com/contact/mupdf">Contact Us</a></div></div></div></div><header style="box-shadow:none" class="border-b bg-white z-9999 false pb-6 w-full sticky -top-px border-transparent"><div class="flex md:flex-row flex-col items-center justify-center gap-x-2 bg-[#111827] font-roboto-mono text-white text-sm md:px-0 px-4 md:py-2.5 py-5 mb-6 relative"><div class="flex gap-x-2 md:mt-0 mt-4 md:mb-0 mb-2"><img alt="sparkle" loading="lazy" width="20" height="20" decoding="async" data-nimg="1" style="color:transparent" src="/_next/static/media/sparkle.3a11dc01.svg"/><span class="text-center">Our fast and customizable PDF WebViewer is here.</span></div><a target="_blank" class="flex font-bold gap-x-1" href="https://webviewer.mupdf.com"><span>Try It Now</span><img alt="chevron-right" loading="lazy" width="12" height="12" decoding="async" data-nimg="1" style="color:transparent" src="/_next/static/media/chevron-right.2771f84a.svg"/></a><img alt="cross" loading="lazy" width="20" height="20" decoding="async" data-nimg="1" class="absolute top-2.5 right-2.5 cursor-pointer" style="color:transparent" src="/_next/static/media/cross.f6401ff7.svg"/></div><div class="flex flex-row justify-between sm:grid sm:grid-cols-[auto_1fr_auto_auto] xl:grid-cols-[0.5fr_1.6fr_0.9fr] 2xl:grid-cols-[0.7fr_1.5fr_0.8fr] 3xl:grid-cols-[0.7fr_1.6fr_0.7fr] items-center header-margin-x gap-4"><a class="text-9xl flex items-center gap-2" href="/"><img alt="logo" loading="lazy" width="114" height="32" decoding="async" data-nimg="1" style="color:transparent" src="/app-assets/images/mupdf_logo.svg"/></a><div class="min-w-0 max-xl:hidden flex justify-center items-center"><nav class="flex items-center gap-6 z-10"><a target="_blank" class="relative" href="https://webviewer.mupdf.com"><div class="inline-flex items-center gap-1 cursor-pointer select-none font-inter text-base font-normal text-content-primary leading-none relative">WebViewer<span class="border border-[#FCE0D3] rounded-md py-0.5 px-1.5 3 text-[9px] md:text-[10px] leading-none font-medium text-[#F16625] " style="background:#FEF0E9 radial-gradient(98% 98% at 50.44% -20%, rgba(241,102,37,.5) 20%, rgba(255,255,255,0) 80%)">NEW</span><div class="absolute -top-3 -left-3 -right-3 -bottom-3 bg-tertiary rounded-xl z-[-1] cursor-pointer" style="opacity:0"></div></div></a><div class="relative"><div class="inline-flex items-center gap-1 cursor-pointer select-none font-inter text-base font-normal text-content-primary leading-none relative">Products<img alt="caret-up" loading="lazy" width="16" height="16" decoding="async" data-nimg="1" class="transition-transform duration-300 rotate-180" style="color:transparent" src="/app-assets/images/caret-up.svg"/><div class="absolute -top-3 -left-3 -right-3 -bottom-3 bg-tertiary rounded-xl z-[-1] cursor-pointer" style="opacity:0"></div></div></div><a target="_blank" href="https://artifex.com/licensing"><div class="inline-flex items-center gap-1 cursor-pointer select-none font-inter text-base font-normal text-content-primary leading-none relative">Licensing<img alt="top-right-vector" loading="lazy" width="16" height="16" decoding="async" data-nimg="1" style="color:transparent" src="/app-assets/images/top-right-vector.svg"/><div class="absolute -top-3 -left-3 -right-3 -bottom-3 bg-tertiary rounded-xl z-[-1] cursor-pointer" style="opacity:0"></div></div></a><div class="relative"><div class="inline-flex items-center gap-1 cursor-pointer select-none font-inter text-base font-normal text-content-primary leading-none relative">Docs<img alt="caret-up" loading="lazy" width="16" height="16" decoding="async" data-nimg="1" class="transition-transform duration-300 rotate-180" style="color:transparent" src="/app-assets/images/caret-up.svg"/><div class="absolute -top-3 -left-3 -right-3 -bottom-3 bg-tertiary rounded-xl z-[-1] cursor-pointer" style="opacity:0"></div></div></div><a target="_blank" href="https://forum.mupdf.com"><div class="inline-flex items-center gap-1 cursor-pointer select-none font-inter text-base font-normal text-content-primary leading-none relative">Forum<img alt="top-right-vector" loading="lazy" width="16" height="16" decoding="async" data-nimg="1" style="color:transparent" src="/app-assets/images/top-right-vector.svg"/><div class="absolute -top-3 -left-3 -right-3 -bottom-3 bg-tertiary rounded-xl z-[-1] cursor-pointer" style="opacity:0"></div></div></a></nav></div><div class="gap-x-4 hidden sm:flex justify-end"><a class="flex justify-center items-center px-[30px] py-[10px] bg-white text-[#F16625] border border-[#F16625] rounded-[1000px] font-satoshi text-base font-bold leading-[135%] hover:bg-orange-50 transition-colors " target="_blank" href="https://artifex.com/contact/mupdf">Contact Us</a><a class="flex justify-center items-center px-[30px] py-[10px] bg-[#F16625] text-white border border-[#F16625] rounded-[1000px] font-satoshi text-base font-bold leading-[135%] hover:bg-orange-600 transition-colors " href="/releases">Releases</a></div><button aria-label="Open menu" class="xl:hidden shrink-0 p-2 rounded-full hover:bg-gray-100 transition"><img alt="menu" loading="lazy" width="24" height="24" decoding="async" data-nimg="1" style="color:transparent" src="/app-assets/images/hamburger.svg"/></button></div></header><div class="w-full flex flex-col flex-1"><div class="w-full flex flex-col items-center"><section class="w-full relative flex-center"><div class="absolute top-0 left-0 w-full h-full overflow-hidden z-[-1]">
3<img alt="Background gradient" decoding="async" data-nimg="fill" class="object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/_next/static/media/mupdfjs-bg.9d46f5ec.svg"/></div><div class="px-[10px] xsm:px-[30px] lg:px-[120px] pt-[74px] xsm:pt-[94px] lg:pt-[104px] pb-[50px] lg:pb-[160px] flex-center max-w-page"><div class="font-satoshi flex flex-col lg:flex-row items-center gap-10 max-w-[1200px] w-full"><div class="flex flex-col gap-y-8 max-w-none lg:max-w-[580px] items-center lg:items-start w-full"><div class="flex flex-col gap-y-4 text-center lg:text-left"><h1 class="xsm:text-[48px] text-[30px] leading-[1.15] font-bold"><span>MuPDF for Node JS, JavaScript & TypeScript</span></h1><p class="text-content-secondary font-medium xsm:text-xl text-sm leading-[1.35]">Bring fast, lightweight PDF processing to your web apps. MuPDF.js supports JavaScript and TypeScript with powerful features and WebAssembly performance. Install via npm and get started quickly.</p><div class="bg-[#FFFFFF80] p-4 rounded-lg border border-[#E4E4E9] text-base font-source-code-pro leading-[1.35] font-bold flex flex-row items-center justify-between cursor-pointer gap-x-3 sm:gap-x-12 relative w-full xsm:w-fit text-primary"><code>npm i mupdf</code><button><span class="">Copy</span></button></div></div><div class="flex flex-col xsm:flex-row items-center gap-4"><a class="font-satoshi font-bold tracking-0 flex justify-center items-center rounded-full gap-x-[10px] box-border block transition-all duration-200 bg-white text-primary hover:bg-[#FEF0E9] active:bg-[#FCE0D3] border border-primary px-6 py-[13px] h-12 text-base leading-[1.35] w-full xsm:w-fit" target="_blank" href="https://artifex.com/contact/mupdf-js">Contact Us</a><a class="font-satoshi font-bold tracking-0 flex justify-center items-center rounded-full gap-x-[10px] box-border block transition-all duration-200 bg-primary text-white hover:bg-[#D95C21] active:outline-solid active:outline-[#FEF0E9] active:outline-[5px] px-6 py-[13px] h-12 text-base leading-[1.35] w-full xsm:w-fit" target="_blank" href="https://www.npmjs.com/package/mupdf">Install MuPDF.js</a></div></div><div class="w-full h-full flex-center"><img alt="MuPDF.js logo and code" width="605" height="453" decoding="async" data-nimg="1" style="color:transparent" src="/_next/static/media/mupdfjs-hero.00a44ae9.svg"/></div></div></div></section><section class="xsm:px-10 px-5 lg:px-[120px] py-[60px] md:py-20 flex-center flex-col gap-y-10 max-w-page"><h2 class="font-bold md:text-[48px] text-[30px] text-center">Built for Front-end and Server-side JavaScript</h2><div class="grid lg:grid-cols-3 grid-cols-1 gap-5 w-full"><div class="flex flex-col gap-y-5 p-6 lg:p-10 rounded-[32px] border border-[#E4E4E9]"><div class="w-20 h-20 flex-center rounded-2xl bg-tertiary border border-[#E4E4E9]" style="box-shadow:0px 4px 4px 0px #0000000A"><img alt="Server-Side PDF Power" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" style="color:transparent" src="/_next/static/media/drives-stack-icon.35051160.svg"/></div><div class="space-y-4"><h3 class="font-bold text-2xl leading-[1.35]">Server-Side PDF Power</h3><p class="text-content-secondary font-medium text-sm leading-[1.35]">Run MuPDF.js on the server with our REST API example â ideal for headless PDF processing in Node.js environments.</p></div></div><div class="flex flex-col gap-y-5 p-6 lg:p-10 rounded-[32px] border border-[#E4E4E9]"><div class="w-20 h-20 flex-center rounded-2xl bg-tertiary border border-[#E4E4E9]" style="box-shadow:0px 4px 4px 0px #0000000A"><img alt="Modern Web Integration" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" style="color:transparent" src="/_next/static/media/desktop-icon.bb600772.svg"/></div><div class="space-y-4"><h3 class="font-bold text-2xl leading-[1.35]">Modern Web Integration</h3><p class="text-content-secondary font-medium text-sm leading-[1.35]">MuPDF.js works seamlessly with frameworks like React, Vue, Angular and Next.js. Itâs built for todayâs full-stack JavaScript workflows.</p></div></div><div class="flex flex-col gap-y-5 p-6 lg:p-10 rounded-[32px] border border-[#
3E4E4E9]"><div class="w-20 h-20 flex-center rounded-2xl bg-tertiary border border-[#E4E4E9]" style="box-shadow:0px 4px 4px 0px #0000000A"><img alt="Start Fast with Examples" loading="lazy" width="32" height="32" decoding="async" data-nimg="1" style="color:transparent" src="/_next/static/media/lightning-icon.cbf86da8.svg"/></div><div class="space-y-4"><h3 class="font-bold text-2xl leading-[1.35]">Start Fast with Examples</h3><p class="text-content-secondary font-medium text-sm leading-[1.35]">From simple scripts to full viewers, our example library helps you build and integrate faster. Everything you need is ready to explore and extend.</p></div></div></div><a class="font-satoshi font-bold tracking-0 flex justify-center items-center rounded-full gap-x-[10px] box-border block transition-all duration-200 bg-primary text-white hover:bg-[#D95C21] active:outline-solid active:outline-[#FEF0E9] active:outline-[5px] px-6 py-[13px] h-12 text-base leading-[1.35] w-fit" target="_blank" href="https://www.npmjs.com/package/mupdf">Install MuPDF.js</a></section><section class="w-full flex-center" style="background:linear-gradient(180deg, #EFF6FF 0%, #EFF1FD 100%)"><div class="px-5 xsm:px-10 lg:px-[120px] py-[100px] max-w-page"><div class="grid sm:grid-cols-2 grid-cols-1 gap-[10px]"><div class="flex flex-col p-5 gap-y-5 xsm:p-10 rounded-[32px] border border-[#E4E4E9] bg-white scroll-mt-[200px]"><div class="relative w-full max-h-[320px] aspect-square"><img alt="See MuPDF.js in Action" loading="lazy" decoding="async" data-nimg="fill" class="object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/_next/static/media/mupdfjs-in-action.11ceeef7.svg"/></div><h3 class="font-bold text-2xl leading-[1.35]">See MuPDF.js in Action</h3><p class="text-content-secondary font-medium text-sm leading-[1.35]">Check out our live PDF Viewer demos. See how MuPDF.js performs in real-world scenarios before you build.</p><a class="font-satoshi font-bold tracking-0 flex justify-center items-center rounded-full gap-x-[10px] box-border block transition-all duration-200 bg-primary text-white hover:bg-[#D95C21] active:outline-solid active:outline-[#FEF0E9] active:outline-[5px] px-6 py-[13px] h-12 text-base leading-[1.35] w-fit" target="_blank" href="https://webviewer.mupdf.com">See Demo</a></div><div class="flex flex-col p-5 gap-y-5 xsm:p-10 rounded-[32px] border border-[#E4E4E9] bg-white scroll-mt-[200px]"><div class="relative w-full max-h-[320px] aspect-square"><img alt="Available On npm" loading="lazy" decoding="async" data-nimg="fill" class="object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" src="/_next/static/media/mupdfjs-npm.74815988.svg"/></div><h3 class="font-bold text-2xl leading-[1.35]">Available On npm</h3><p class="text-content-secondary font-medium text-sm leading-[1.35]">Install MuPDF.js directly from npm to start building with ease. Supports Node.js, TypeScript, and modern JavaScript environments.</p><div class="bg-[#FFFFFF80] p-4 rounded-lg border border-[#E4E4E9] text-base font-source-code-pro leading-[1.35] font-bold flex flex-row items-center justify-between cursor-pointer gap-x-3 sm:gap-x-12 relative w-full text-primary"><code>npm i mupdf</code><button><span class="">Copy</span></button></div></div></div></div></section><section class="px-5 xsm:px-10 lg:px-[120px] py-[60px] xsm:py-[100px] flex-center flex-col gap-y-10 w-full" style="background:linear-gradient(180deg, #EFF6FF 0%, #EFF1FD 100%)"><h2 class="font-bold xsm:text-[48px] text-[30px] text-center">MuPDF.js Resources</h2><div class="grid lg:grid-cols-2 grid-cols-1 gap-[10px] w-full max-w-[1200px]"><div class="bg-white border border-[#E4E4E9] rounded-[32px] p-5 xsm:p-10 flex flex-col xsm:flex-row items-start lg:items-center justify-between gap-y-5 "><div class="flex flex-col xsm:flex-row items-start lg:items-center gap-4"><div class="w-[60px] h-[60px] flex-center rounded-2xl bg-tertiary border border-[#E4E4E9]" style="box-shadow:0px 4px 4px 0px #0000000A"><img alt="Quick Start Guide" loading="lazy" width="24" height="24" decoding="async" data-nimg="1" style="color:transparent" src="/_next/static/media/bookmark-icon.0277518b.svg"/></div><div class="flex flex-col gap-y-2"><h4 class="font-bold text-2xl leading-[1.35]">Quick Start Guide</h4><p class="text-content-secondary font-medium text-sm leading-[1.35]">Jump into our docs and get started.</p></div></div><a class="font-satoshi font-bold tracking-0 flex justify-center items-center rounded-full gap-x-[10px] box-border block transition-all duration-200 bg-primary text-white hover:bg-[#D95C21] active:outline-solid active:outline-[#FEF0E9] active:outline-[5px] px-5 py-[10px] h-10 text-sm leading-[20px] w-fit" target="_blank" href="https://mupdfjs.readthedocs.io/en/latest/getting-started/">See Docs</a></div>
3<div class="bg-white border border-[#E4E4E9] rounded-[32px] p-5 xsm:p-10 flex flex-col xsm:flex-row items-start lg:items-center justify-between gap-y-5 "><div class="flex flex-col xsm:flex-row items-start lg:items-center gap-4"><div class="w-[60px] h-[60px] flex-center rounded-2xl bg-tertiary border border-[#E4E4E9]" style="box-shadow:0px 4px 4px 0px #0000000A"><img alt="Find us on Github" loading="lazy" width="24" height="24" decoding="async" data-nimg="1" style="color:transparent" src="/_next/static/media/github-icon.51d80c87.svg"/></div><div class="flex flex-col gap-y-2"><h4 class="font-bold text-2xl leading-[1.35]">Find us on Github</h4><p class="text-content-secondary font-medium text-sm leading-[1.35]">Check out our ongoing development.</p></div></div><a class="font-satoshi font-bold tracking-0 flex justify-center items-center rounded-full gap-x-[10px] box-border block transition-all duration-200 bg-primary text-white hover:bg-[#D95C21] active:outline-solid active:outline-[#FEF0E9] active:outline-[5px] px-5 py-[10px] h-10 text-sm leading-[20px] w-fit" target="_blank" href="https://github.com/ArtifexSoftware/mupdf.js">Visit Github</a></div></div></section><section class="w-full bg-linear-to-b from-[#FAFAFA] to-[#EFF6FF] flex-center"><div class=" xl:p-25 sm:p-14 p-10 max-w-page"><div class="text-center mb-10 pt-6 sm:pt-3"><h2 class="custom-title">MuPDF.js Articles</h2></div><div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-10 gap-y-4 grid-auto-rows-auto"><div class="w-full"><a href="https://artifex.com/blog/introducing-mupdf.js-1.0" target="_blank" rel="noopener noreferrer" class="group block rounded-none sm:rounded-[48px]"><div class="relative aspect-video w-full rounded-[36px] md:rounded-3xl xl:rounded-[36px] overflow-hidden bg-white shadow-md mb-4"><img alt="Introducing MuPDF.js 1.0" loading="lazy" decoding="async" data-nimg="fill" class="object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="100vw" srcSet="/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F9eb68656a6e08276cfd28d43b053bd2ea74cf1a4-800x450.jpg&w=640&q=75 640w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F9eb68656a6e08276cfd28d43b053bd2ea74cf1a4-800x450.jpg&w=750&q=75 750w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F9eb68656a6e08276cfd28d43b053bd2ea74cf1a4-800x450.jpg&w=828&q=75 828w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F9eb68656a6e08276cfd28d43b053bd2ea74cf1a4-800x450.jpg&w=1080&q=75 1080w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F9eb68656a6e08276cfd28d43b053bd2ea74cf1a4-800x450.jpg&w=1200&q=75 1200w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F9eb68656a6e08276cfd28d43b053bd2ea74cf1a4-800x450.jpg&w=1920&q=75 1920w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F9eb68656a6e08276cfd28d43b053bd2ea74cf1a4-800x450.jpg&w=2048&q=75 2048w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F9eb68656a6e08276cfd28d43b053bd2ea74cf1a4-800x450.jpg&w=3840&q=75 3840w" src="/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F9eb68656a6e08276cfd28d43b053bd2ea74cf1a4-800x450.jpg&w=3840&q=75"/></div><div class="flex flex-wrap gap-2 mb-3"><span class="h-[31px] bg-[#FFFFFF] text-xs font-medium px-[10px] py-[6px] rounded-[5px] border border-[#E4E4E9] shadow-[0px_4px_4px_0px_#0000000A] gap-[10px] font-satoshi text-content-secondary">MuPDF.js</span><span class="h-[31px] bg-[#FFFFFF] text-xs font-medium px-[10px] py-[6px] rounded-[5px] border border-[#E4E4E9] shadow-[0px_4px_4px_0px_#0000000A] gap-[10px] font-satoshi text-content-secondary">Release</span><span class="h-[31px] bg-[#FFFFFF] text-xs font-medium px-[10px] py-[6px] rounded-[5px] border border-[#E4E4E9] shadow-[0px_4px_4px_0px_#0000000A] gap-[10px] font-satoshi text-content-secondary">MuPDF</span></div><h3 class="text-xl leading-[135%] font-bold mb-2 font-satoshi text-content-primary tracking-[0%]">Introducing MuPDF.js 1.0</h3><p class="text-sm text-content-secondary font-satoshi font-medium">Mar 19, 2025</p></a></div><div class="w-full"><a href="https://artifex.com/blog/introducing-the-mupdf.js-api" target="_blank" rel="noopener noreferrer" class="group block rounded-none sm:rounded-[48px]"><div class="relative aspect-video w-full rounded-[36px] md:rounded-3xl xl:rounded-[36px] overflow-hidden bg-white shadow-md mb-4"><img alt="Introducing the MuPDF.js API" loading="lazy" decoding="async" data-nimg="fill" class="object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="100vw" srcSet="/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2Fee4aa87c514e223680fbee030529548bee87ade1-2000x1124.jpg&w=640&q=75 640w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2Fee4aa87c514e223680fbee030529548bee87ade1-2000x1124.jpg&w=750&q=75 750w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2Fee4aa87c514e223680fbee030529548bee87ade1-2000x1124.jpg&w=828&q=75 828w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2Fee4aa87c514e223680fbee030529548bee87ade1-2000x1124.jpg&w=1080&q=75 1080w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2Fee4aa87c514e223680fbee030529548bee87ade1-2000x1124.jpg&w=1200&q=75 1200w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2Fee4aa87c514e223680fbee030529548bee87ade1-2000x1124.jpg&w=1920&q=75 1920w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2Fee4aa87c514e223680fbee030529548bee87ade1-2000x1124.jpg&w=2048&q=75 2048w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2Fee4aa87c514e223680fbee030529548bee87ade1-2000x1124.jpg&w=3840&q=75 3840w" src="/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2Fee4aa87c514e223680fbee030529548bee87ade1-2000x1124.jpg&w=3840&q=75"/></div><div class="flex flex-wrap gap-2 mb-3"><span class="h-[31px] bg-[#FFFFFF] text-xs font-medium px-[10px] py-[6px] rounded-[5px] border border-[#
3E4E4E9] shadow-[0px_4px_4px_0px_#0000000A] gap-[10px] font-satoshi text-content-secondary">MuPDF.js</span><span class="h-[31px] bg-[#FFFFFF] text-xs font-medium px-[10px] py-[6px] rounded-[5px] border border-[#E4E4E9] shadow-[0px_4px_4px_0px_#0000000A] gap-[10px] font-satoshi text-content-secondary">MuPDF</span></div><h3 class="text-xl leading-[135%] font-bold mb-2 font-satoshi text-content-primary tracking-[0%]">Introducing the MuPDF.js API</h3><p class="text-sm text-content-secondary font-satoshi font-medium">Mar 19, 2025</p></a></div><div class="w-full"><a href="https://artifex.com/blog/getting-started-with-server-side-javascript-and-mupdf" target="_blank" rel="noopener noreferrer" class="group block rounded-none sm:rounded-[48px]"><div class="relative aspect-video w-full rounded-[36px] md:rounded-3xl xl:rounded-[36px] overflow-hidden bg-white shadow-md mb-4"><img alt="Getting started with server-side JavaScript and MuPDF" loading="lazy" decoding="async" data-nimg="fill" class="object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="100vw" srcSet="/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F909d4f8c8e16a8d2e8718150e2a5020e47a2137c-1024x585.jpg&w=640&q=75 640w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F909d4f8c8e16a8d2e8718150e2a5020e47a2137c-1024x585.jpg&w=750&q=75 750w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F909d4f8c8e16a8d2e8718150e2a5020e47a2137c-1024x585.jpg&w=828&q=75 828w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F909d4f8c8e16a8d2e8718150e2a5020e47a2137c-1024x585.jpg&w=1080&q=75 1080w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F909d4f8c8e16a8d2e8718150e2a5020e47a2137c-1024x585.jpg&w=1200&q=75 1200w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F909d4f8c8e16a8d2e8718150e2a5020e47a2137c-1024x585.jpg&w=1920&q=75 1920w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F909d4f8c8e16a8d2e8718150e2a5020e47a2137c-1024x585.jpg&w=2048&q=75 2048w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F909d4f8c8e16a8d2e8718150e2a5020e47a2137c-1024x585.jpg&w=3840&q=75 3840w" src="/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F909d4f8c8e16a8d2e8718150e2a5020e47a2137c-1024x585.jpg&w=3840&q=75"/></div><div class="flex flex-wrap gap-2 mb-3"><span class="h-[31px] bg-[#FFFFFF] text-xs font-medium px-[10px] py-[6px] rounded-[5px] border border-[#E4E4E9] shadow-[0px_4px_4px_0px_#0000000A] gap-[10px] font-satoshi text-content-secondary">MuPDF.js</span><span class="h-[31px] bg-[#FFFFFF] text-xs font-medium px-[10px] py-[6px] rounded-[5px] border border-[#E4E4E9] shadow-[0px_4px_4px_0px_#0000000A] gap-[10px] font-satoshi text-content-secondary">MuPDF</span></div><h3 class="text-xl leading-[135%] font-bold mb-2 font-satoshi text-content-primary tracking-[0%]">Getting started with server-side JavaScript and MuPDF</h3><p class="text-sm text-content-secondary font-satoshi font-medium">Mar 19, 2025</p></a></div><div class="w-full"><a href="https://artifex.com/blog/mupdf-js-latest-updates" target="_blank" rel="noopener noreferrer" class="group block rounded-none sm:rounded-[48px]"><div class="relative aspect-video w-full rounded-[36px] md:rounded-3xl xl:rounded-[36px] overflow-hidden bg-white shadow-md mb-4"><img alt="MuPDF.js latest updates" loading="lazy" decoding="async" data-nimg="fill" class="object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="100vw" srcSet="/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F73c94c22e7a4484f1c88fb8fb175d3f518a84b8e-1000x563.png&w=640&q=75 640w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F73c94c22e7a4484f1c88fb8fb175d3f518a84b8e-1000x563.png&w=750&q=75 750w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F73c94c22e7a4484f1c88fb8fb175d3f518a84b8e-1000x563.png&w=828&q=75 828w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F73c94c22e7a4484f1c88fb8fb175d3f518a84b8e-1000x563.png&w=1080&q=75 1080w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F73c94c22e7a4484f1c88fb8fb175d3f518a84b8e-1000x563.png&w=1200&q=75 1200w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F73c94c22e7a4484f1c88fb8fb175d3f518a84b8e-1000x563.png&w=1920&q=75 1920w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F73c94c22e7a4484f1c88fb8fb175d3f518a84b8e-1000x563.png&w=2048&q=75 2048w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F73c94c22e7a4484f1c88fb8fb175d3f518a84b8e-1000x563.png&w=3840&q=75 3840w" src="/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F73c94c22e7a4484f1c88fb8fb175d3f518a84b8e-1000x563.png&w=3840&q=75"/></div><div class="flex flex-wrap gap-2 mb-3"><span class="h-[31px] bg-[#FFFFFF] text-xs font-medium px-[10px] py-[6px] rounded-[5px] border border-[#
3E4E4E9] shadow-[0px_4px_4px_0px_#0000000A] gap-[10px] font-satoshi text-content-secondary">MuPDF</span><span class="h-[31px] bg-[#FFFFFF] text-xs font-medium px-[10px] py-[6px] rounded-[5px] border border-[#E4E4E9] shadow-[0px_4px_4px_0px_#0000000A] gap-[10px] font-satoshi text-content-secondary">MuPDF.js</span><span class="h-[31px] bg-[#FFFFFF] text-xs font-medium px-[10px] py-[6px] rounded-[5px] border border-[#E4E4E9] shadow-[0px_4px_4px_0px_#0000000A] gap-[10px] font-satoshi text-content-secondary">Release</span></div><h3 class="text-xl leading-[135%] font-bold mb-2 font-satoshi text-content-primary tracking-[0%]">MuPDF.js latest updates</h3><p class="text-sm text-content-secondary font-satoshi font-medium">Mar 19, 2025</p></a></div><div class="w-full"><a href="https://artifex.com/blog/mupdfjs-with-npm" target="_blank" rel="noopener noreferrer" class="group block rounded-none sm:rounded-[48px]"><div class="relative aspect-video w-full rounded-[36px] md:rounded-3xl xl:rounded-[36px] overflow-hidden bg-white shadow-md mb-4"><img alt="MuPDF.js with npm: A Powerful PDF Solution for the Web" loading="lazy" decoding="async" data-nimg="fill" class="object-cover" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="100vw" srcSet="/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F5a5529f83d8379429c13dd2a27b00896831d32b1-3335x1876.png&w=640&q=75 640w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F5a5529f83d8379429c13dd2a27b00896831d32b1-3335x1876.png&w=750&q=75 750w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F5a5529f83d8379429c13dd2a27b00896831d32b1-3335x1876.png&w=828&q=75 828w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F5a5529f83d8379429c13dd2a27b00896831d32b1-3335x1876.png&w=1080&q=75 1080w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F5a5529f83d8379429c13dd2a27b00896831d32b1-3335x1876.png&w=1200&q=75 1200w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F5a5529f83d8379429c13dd2a27b00896831d32b1-3335x1876.png&w=1920&q=75 1920w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F5a5529f83d8379429c13dd2a27b00896831d32b1-3335x1876.png&w=2048&q=75 2048w, /_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F5a5529f83d8379429c13dd2a27b00896831d32b1-3335x1876.png&w=3840&q=75 3840w" src="/_next/image?url=https%3A%2F%2Fcdn.sanity.io%2Fimages%2Fhegrqzw3%2Fproduction%2F5a5529f83d8379429c13dd2a27b00896831d32b1-3335x1876.png&w=3840&q=75"/></div><div class="flex flex-wrap gap-2 mb-3"><span class="h-[31px] bg-[#FFFFFF] text-xs font-medium px-[10px] py-[6px] rounded-[5px] border border-[#E4E4E9] shadow-[0px_4px_4px_0px_#0000000A] gap-[10px] font-satoshi text-content-secondary">MuPDF</span><span class="h-[31px] bg-[#FFFFFF] text-xs font-medium px-[10px] py-[6px] rounded-[5px] border border-[#E4E4E9] shadow-[0px_4px_4px_0px_#0000000A] gap-[10px] font-satoshi text-content-secondary">MuPDF.js</span><span class="h-[31px] bg-[#FFFFFF] text-xs font-medium px-[10px] py-[6px] rounded-[5px] border border-[#E4E4E9] shadow-[0px_4px_4px_0px_#0000000A] gap-[10px] font-satoshi text-content-secondary">Release</span></div><h3 class="text-xl leading-[135%] font-bold mb-2 font-satoshi text-content-primary tracking-[0%]">MuPDF.js with npm: A Powerful PDF Solution for the Web</h3><p class="text-sm text-content-secondary font-satoshi font-medium">Mar 19, 2025</p></a></div></div><div class="flex justify-center mt-10 mb-10"><a class="flex justify-center items-center px-[30px] py-[10px] bg-[#F16625] text-white border border-[#F16625] rounded-[1000px] font-satoshi text-base font-bold leading-[135%] hover:bg-orange-600 transition-colors " href="https://artifex.com/blog/">See more</a></div></div></section><section class="xsm:py-20 py-0 w-full bg-cover bg-center bg-no-repeat" style="background-image:url(/_next/static/media/try-cta-bg.92b5329a.svg)"><div class="font-satoshi flex-center flex-col py-20 px-5 sm:px-20"><div class="h-20 w-20 flex items-center justify-center bg-tertiary rounded-2xl border border-[#
3E4E4E9] shadow-[0px_10px_20px_0px_#0000001A]"><img alt="MuPDF.js" loading="lazy" width="64" height="46" decoding="async" data-nimg="1" style="color:transparent" src="/_next/static/media/mupdfjs-logo.127d47ac.svg"/></div><div class="text-center space-y-5 mb-10 mt-8 flex-center flex-col"><h2 class="xsm:text-[40px] text-[30px] leading-[1.15] font-bold">Try <span class="text-primary">MuPDF.js</span> Today</h2><p class="text-content-secondary max-w-[376px]">Start building with the fastest, most flexible PDF library.</p></div><a class="font-satoshi font-bold tracking-0 flex justify-center items-center rounded-full gap-x-[10px] box-border block transition-all duration-200 bg-primary text-white hover:bg-[#D95C21] active:outline-solid active:outline-[#FEF0E9] active:outline-[5px] px-6 py-[13px] h-12 text-base leading-[1.35] w-fit" target="_blank" href="https://www.npmjs.com/package/mupdf">Install MuPDF.js</a></div></section></div></div><footer class="rounded-none sm:rounded-[40px] overflow-hidden bg-linear-to-tr bg-neutral-950 m-0 sm:mx-2 mb-2"><div class="flex justify-start md:justify-center px-6 pt-16 pb-10 sm:px-12 sm:py-16 xl:px-24 xl:py-20"><div class="mx-0 md:mx-auto"><div class="xl:flex xl:gap-16 2xl:gap-24"><div class="mb-8 sm:mb-8 xl:mb-0 lg:shrink-0"><img alt="MuPDF Logo" width="284" height="80" decoding="async" data-nimg="1" style="color:transparent" src="/app-assets/images/footer/mupdf_footer_logo.svg"/><p class="mt-6 max-w-xs text-sm leading-6 text-content-white font-satoshi">The Ultimate Library for <br class="md:hidden block"/> <!-- -->managing PDF <br class="hidden md:block"/> Documents.</p></div><div class="flex flex-col gap-9 md:gap-20 lg:gap-40 xl:gap-24 2xl:gap-30 md:flex-row"><div class="flex flex-col gap-4 leading-6"><h3 class="font-medium tracking-wide text-base leading-[135%] tracking-0 text-content-secondary font-satoshi">PRODUCTS</h3><div class="flex flex-col gap-6 md:gap-12 xl:gap-24 md:flex-row font-satoshi font-medium text-base leading-[135%] tracking-0 text-content-white"><ul class="flex flex-col gap-6"><li class="min-w-0"><a href="/core">MuPDF Core</a></li><li class="min-w-0"><a href="/mupdf-js">MuPDF.js</a></li><li class="min-w-0"><a href="/mupdf-dotnet">MuPDF.NET</a></li></ul><ul class="flex flex-col gap-6"><li class="flex items-center gap-2 min-w-0"><a class="flex items-center gap-1" href="https://webviewer.mupdf.com">WebViewer</a><span class="border border-[#FCE0D3] rounded-md py-0.5 px-1.5 4 text-[9px] md:text-[10px] leading-none font-medium text-[#F16625] " style="background:#FEF0E9 radial-gradient(98% 98% at 50.44% -20%, rgba(241,102,37,.5) 20%, rgba(255,255,255,0) 80%)">NEW</span></li><li class="flex items-center gap-2 min-w-0"><a target="_blank" rel="noopener noreferrer" class="flex items-center gap-1" href="https://pymupdf.io">PyMuPDF<img alt="external link" loading="lazy" width="12" height="12" decoding="async" data-nimg="1" style="color:transparent" src="/app-assets/images/top-right-vector.svg"/></a></li><li class="flex items-center gap-2 min-w-0"><a target="_blank" rel="noopener noreferrer" class="flex items-center gap-1" href="https://pymupdf.io/4llm">PyMuPDF4LLM<img alt="external link" loading="lazy" width="12" height="12" decoding="async" data-nimg="1" style="color:transparent" src="/app-assets/images/top-right-vector.svg"/></a></li><li class="flex items-center gap-2 min-w-0"><a target="_blank" rel="noopener noreferrer" class="flex items-center gap-1" href="https://pymupdf.io/pro">PyMuPDF Pro<img alt="external link" loading="lazy" width="12" height="12" decoding="async" data-nimg="1" style="color:transparent" src="/app-assets/images/top-right-vector.svg"/></a></li></ul></div></div><div class="flex flex-col gap-4 leading-6"><h3 class="font-medium tracking-wide text-base leading-[135%] tracking-0 text-content-secondary font-satoshi">RESOURCES</h3><ul class="flex flex-col font-satoshi font-medium text-base leading-[135%] tracking-0 text-content-white gap-y-6"><li class="min-w-0"><a href="https://forum.mupdf.com">Forum</a></li><li class="min-w-0"><a href="https://artifex.com/blog/">Blog</a></li><li class="min-w-0"><a href="/releases">Releases</a></li></ul></div><div class="flex flex-col gap-4 leading-6"><h3 class="font-medium tracking-wide text-base leading-[135%] tracking-0 text-content-secondary font-satoshi">COMPANY</h3><ul class="flex flex-col font-satoshi font-medium text-base leading-[135%] tracking-0 text-content-white gap-y-6"><li class="min-w-0"><a href="https://artifex.com/#about">About</a></li><li class="min-w-0"><a href="/security">Security</a></li><li class="min-w-0"><a href="https://artifex.com/support">Support</a></li><li class="min-w-0"><a href="/privacy">Privacy</a></li></ul></div></div></div><p class="text-xs text-content-secondary mt-6 font-satoshi font-medium">© 2025 Artifex Software Inc. All rights reserved.</p></div></div></footer></main></div>
4<script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"blogs":[{"_id":"bbd97a9f-783b-4a50-82de-998b5cfe60ef","_updatedAt":"2025-03-19T13:26:34Z","author":"Jamie Lemon","link":"https://artifex.com/blog/introducing-mupdf.js-1.0","modifiedAt":"2024-11-13T15:00:00.000Z","slug":"introducing-mupdf.js-1.0","tags":["MuPDF.js","Release","MuPDF"],"thumbnail":{"alt":"Introducing MuPDF.js 1.0","height":450,"image":"https://cdn.sanity.io/images/hegrqzw3/production/9eb68656a6e08276cfd28d43b053bd2ea74cf1a4-800x450.jpg","width":800},"title":"Introducing MuPDF.js 1.0"},{"_id":"5f37a90c-811d-4114-9b49-304c138c8c5f","_updatedAt":"2025-03-19T13:26:37Z","author":"Jamie Lemon","link":"https://artifex.com/blog/introducing-the-mupdf.js-api","modifiedAt":"2024-09-04T15:00:00.000Z","slug":"introducing-the-mupdf.js-api","tags":["MuPDF.js","MuPDF"],"thumbnail":{"alt":"Introducing the MuPDF.js API","height":1124,"image":"https://cdn.sanity.io/images/hegrqzw3/production/ee4aa87c514e223680fbee030529548bee87ade1-2000x1124.jpg","width":2000},"title":"Introducing the MuPDF.js API"},{"_id":"73d11ffe-7673-44bf-b5a2-f2ca9bac8569","_updatedAt":"2025-03-19T13:26:17Z","author":"Jamie Lemon","link":"https://artifex.com/blog/getting-started-with-server-side-javascript-and-mupdf","modifiedAt":"2024-08-21T15:00:00.000Z","slug":"getting-started-with-server-side-javascript-and-mupdf","tags":["MuPDF.js","MuPDF"],"thumbnail":{"alt":"Getting started with server-side JavaScript and MuPDF","height":585,"image":"https://cdn.sanity.io/images/hegrqzw3/production/909d4f8c8e16a8d2e8718150e2a5020e47a2137c-1024x585.jpg","width":1024},"title":"Getting started with server-side JavaScript and MuPDF"},{"_id":"f04a6dfe-5f79-4d2d-a10e-ca1a86755e83","_updatedAt":"2025-03-19T13:26:43Z","author":"Jamie Lemon","link":"https://artifex.com/blog/mupdf-js-latest-updates","modifiedAt":"2024-06-11T15:00:00.000Z","slug":"mupdf-js-latest-updates","tags":["MuPDF","MuPDF.js","Release"],"thumbnail":{"alt":"MuPDF.js latest updates","height":563,"image":"https://cdn.sanity.io/images/hegrqzw3/production/73c94c22e7a4484f1c88fb8fb175d3f518a84b8e-1000x563.png","width":1000},"title":"MuPDF.js latest updates"},{"_id":"ea9c9cc1-fefc-4216-97ed-b3e9f39efe31","_updatedAt":"2025-03-19T13:26:46Z","author":"Jamie Lemon","link":"https://artifex.com/blog/mupdfjs-with-npm","modifiedAt":"2023-06-24T15:00:00.000Z","slug":"mupdfjs-with-npm","tags":["MuPDF","MuPDF.js","Release"],"thumbnail":{"alt":"MuPDF.js with npm: A Powerful PDF Solution for the Web","height":1876,"image":"https://cdn.sanity.io/images/hegrqzw3/production/5a5529f83d8379429c13dd2a27b00896831d32b1-3335x1876.png","width":3335},"title":"MuPDF.js with npm: A Powerful PDF Solution for the Web"}]},"__N_SSG":true},"page":"/mupdf-js","query":{},"buildId":"Ib3NnjmALQq6I5E4R0S2h","isFallback":false,"isExperimentalCompile":false,"gsp":true,"scriptLoader":[{"id":"clarityNextJS","strategy":"afterInteractive","dangerouslySetInnerHTML":{"__html":"\n (function(c,l,a,r,i,t,y){\n c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};\n t=l.createElement(r);t.async=1;t.src=\"https://www.clarity.ms/tag/\"+i;\n y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\n })(window, document, \"clarity\", \"script\", \"m9yz46gan9\");\n "}},{"id":"Cookiebot","strategy":"afterInteractive","src":"https://consent.cookiebot.com/uc.js","data-cbid":"057e3d80-6a29-4fd9-bf67-93a7680bde45","data-blockingmode":"auto","type":"text/javascript","data-georegions":"{'region':'US-06','cbid':'fe8da77f-5ffc-4f57-a79c-e00b77ee6d3e'},{'region':'AT, BE, BG, HR, CY, CZ, DK, EE, FI, FR, DE, GR, HU, IE, IT, LV, LT, LU, MT, NL, PL, PT, RO, SK, SI, ES, SE','cbid':'0451df13-b753-48c6-bee0-8e5cf5d1bbf2'}"}]}</script>
4</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.