Verify, don’t trust

Don’t take our word. Unplug us.

Every pdfnex tool runs in your browser tab. Here are three ways to check that your file never reaches us, and none of them require trusting this page.

Network ledger · this tabLIVE
Your fileno file yet
Requests since your file0
Third-party scriptsnone
This page counts these numbers itself. To check without trusting us, switch off your network and run a tool, or open DevTools → Network.
  1. 01

    The airplane-mode test

    This is the check that needs no trust and no tools. A page cannot send a file anywhere while the device has no network.

    1. Open a tool, for example Compress to a size, and let the page finish loading. The first visit downloads the engine; after that the browser keeps it.
    2. Turn on airplane mode, or switch off Wi-Fi and unplug any cable.
    3. Add your file and run the tool. Save the result.
    4. If the result appears and saves, the work happened on your device. An upload-based site fails at this step.

    For a stricter test, close the tab before you reconnect. A page could, in principle, hold data and send it later; a closed tab cannot.

  2. 02

    Watch the network in DevTools

    Every desktop browser can show you each request a page makes, with its destination and size.

    1. Open the tool page, then open developer tools: F12 on Windows and Linux, Cmd+Option+I on a Mac. Select the Network tab.
    2. Tick “Preserve log” so the list survives navigation, then clear it.
    3. Add your file and run the tool. Watch the list as it works.
    4. Read what appeared after your file was added. On pdfnex every request goes to pdfnex.com: engine files the first time a tool loads (WebAssembly, workers, OCR models) and small analytics beacons to /api/e that name the page, the tool and the outcome. Click any request and open its Payload tab to see exactly what it carried.

    A request to another domain, or one whose size is close to your file’s size, is what to look for on any site. The guide How browser-based PDF tools work explains each check in more depth.

  3. 03

    Read the header we send

    Our server sends this Content-Security-Policy on every page. It is printed here from the same constant the server uses, so the two cannot drift apart. connect-src 'self' means scripts on the page may talk only to pdfnex.com: no analytics vendor, no CDN, no API elsewhere. Compare it with the response headers of the first request in DevTools.

    Content-Security-Policy · verbatim
    default-src 'self'; script-src 'self' 'unsafe-inline' 'wasm-unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: blob:; font-src 'self'; connect-src 'self'; worker-src 'self' blob:; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'self'
    • default-src 'self'
    • script-src 'self' 'unsafe-inline' 'wasm-unsafe-eval'
    • style-src 'self' 'unsafe-inline'
    • img-src 'self' data: blob:
    • font-src 'self'
    • connect-src 'self'
    • worker-src 'self' blob:
    • object-src 'none'
    • base-uri 'self'
    • form-action 'self'
    • frame-ancestors 'self'

    The policy restricts where the page’s scripts can connect. It does not limit what our own server receives, which is why it belongs together with the two checks above.

  4. 04

    Check the engine files

    Every file the tools run (WebAssembly, workers, OCR models) is served from our origin and listed in a published manifest with its SHA-256. The bundle hash below is one SHA-256 over all of them; if any engine file changes, it changes.

    Bundle hash
    1a8a895ead52f3dcbba4c5c177271c13365c58ae4339bba7a16be843e8bb1c93
    Built by
    scripts/engine-copy.mjs
    Files
    215 · 48.7 MB
    Manifest
    /engine/manifest.json
    LibraryVersionLicense
    pdfjs-dist6.4.299Apache-2.0
    @neslinesli93/qpdf-wasm0.3.0ISC
    tesseract.js7.0.0Apache-2.0
    tesseract.js-core7.0.0Apache-2.0
    @tesseract.js-data/eng1.0.0MIT
    @tesseract.js-data/spa1.0.0MIT
    heic2any0.0.4MIT
    @cantoo/pdf-lib2.11.1MIT
    fflate0.8.3MIT
    All 215 engine files with SHA-256
    • /engine/heic/heic2any.min.js1.35 MB · 0963cfa5…e4968164
    • /engine/pdfjs/LICENSE10 KB · 0d542e0c…38e94594
    • /engine/pdfjs/cmaps/78-EUC-H.bcmap2 KB · d92a2613…1434c874
    • /engine/pdfjs/cmaps/78-EUC-V.bcmap173 B · 61670beb…bedc032a
    • /engine/pdfjs/cmaps/78-H.bcmap2 KB · ece6415b…76b77402
    • /engine/pdfjs/cmaps/78-RKSJ-H.bcmap2 KB · 696b1f97…08edfa7b
    • /engine/pdfjs/cmaps/78-RKSJ-V.bcmap173 B · 53cb6d56…a73a7ff9
    • /engine/pdfjs/cmaps/78-V.bcmap169 B · 289000f0…c8db1712
    • /engine/pdfjs/cmaps/78ms-RKSJ-H.bcmap3 KB · a2442595…878f72e2
    • /engine/pdfjs/cmaps/78ms-RKSJ-V.bcmap290 B · f8ddceba…8f19be0b
    • /engine/pdfjs/cmaps/83pv-RKSJ-H.bcmap905 B · 44040051…b5e6d1df
    • /engine/pdfjs/cmaps/90ms-RKSJ-H.bcmap721 B · c13e043e…b5b48ba1
    • /engine/pdfjs/cmaps/90ms-RKSJ-V.bcmap290 B · 499bb916…16885bab
    • /engine/pdfjs/cmaps/90msp-RKSJ-H.bcmap715 B · 7b8b3b8b…2d80498b
    • /engine/pdfjs/cmaps/90msp-RKSJ-V.bcmap291 B · 6296c2b5…2802aacb
    • /engine/pdfjs/cmaps/90pv-RKSJ-H.bcmap982 B · fb5103f0…4c2e4fa8
    • /engine/pdfjs/cmaps/90pv-RKSJ-V.bcmap260 B · 7bcb5ad2…4af615c2
    • /engine/pdfjs/cmaps/Add-H.bcmap2 KB · a2ffab28…92e5ad8e
    • /engine/pdfjs/cmaps/Add-RKSJ-H.bcmap2 KB · b29f4b52…3b35bb7e
    • /engine/pdfjs/cmaps/Add-RKSJ-V.bcmap287 B · 2aa2232c…293460ff
    • /engine/pdfjs/cmaps/Add-V.bcmap282 B · 25125d3b…c166e542
    • /engine/pdfjs/cmaps/Adobe-CNS1-0.bcmap317 B · 8c65be9d…6b3e450e
    • /engine/pdfjs/cmaps/Adobe-CNS1-1.bcmap371 B · 73152bc1…9fdb0c04
    • /engine/pdfjs/cmaps/Adobe-CNS1-2.bcmap376 B · a1b8d353…515818c2
    • /engine/pdfjs/cmaps/Adobe-CNS1-3.bcmap401 B · 2ffc0c75…d14b9570
    • /engine/pdfjs/cmaps/Adobe-CNS1-4.bcmap405 B · 98a1f470…bf655716
    • /engine/pdfjs/cmaps/Adobe-CNS1-5.bcmap406 B · ddd6e299…5fb77829
    • /engine/pdfjs/cmaps/Adobe-CNS1-6.bcmap406 B · 317bb2db…a238f8a2
    • /engine/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap41 KB · e665837f…3bd72af9
    • /engine/pdfjs/cmaps/Adobe-GB1-0.bcmap217 B · 8b81cce8…433946b9
    • /engine/pdfjs/cmaps/Adobe-GB1-1.bcmap250 B · 04269830…9251a81e
    • /engine/pdfjs/cmaps/Adobe-GB1-2.bcmap465 B · e67b37a8…84d268d5
    • /engine/pdfjs/cmaps/Adobe-GB1-3.bcmap470 B · aa299afc…9cd99078
    • /engine/pdfjs/cmaps/Adobe-GB1-4.bcmap601 B · 8fbd7d74…33d2097f
    • /engine/pdfjs/cmaps/Adobe-GB1-5.bcmap625 B · c22cb2fc…ac01428c
    • /engine/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap34 KB · 20507620…eb2c1641
    • /engine/pdfjs/cmaps/Adobe-Japan1-0.bcmap225 B · 464f0890…7ab38134
    • /engine/pdfjs/cmaps/Adobe-Japan1-1.bcmap226 B · 4c823848…9e037008
    • /engine/pdfjs/cmaps/Adobe-Japan1-2.bcmap233 B · 7810fb80…a242315c
    • /engine/pdfjs/cmaps/Adobe-Japan1-3.bcmap242 B · 84deb182…c45f08f8
    • /engine/pdfjs/cmaps/Adobe-Japan1-4.bcmap337 B · 3f8a4f97…ef184067
    • /engine/pdfjs/cmaps/Adobe-Japan1-5.bcmap430 B · 1d3ce4ff…3e79e1db
    • /engine/pdfjs/cmaps/Adobe-Japan1-6.bcmap485 B · 5609797b…f584b1d9
    • /engine/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap41 KB · 66c5d0dc…bcba7c2f
    • /engine/pdfjs/cmaps/Adobe-Korea1-0.bcmap241 B · dfb8c387…77d80b32
    • /engine/pdfjs/cmaps/Adobe-Korea1-1.bcmap386 B · 62f277b7…35e6adc1
    • /engine/pdfjs/cmaps/Adobe-Korea1-2.bcmap391 B · 1d77068a…8db0380d
    • /engine/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap23 KB · 857b7230…bc7060ff
    • /engine/pdfjs/cmaps/B5-H.bcmap1 KB · 718ad0ff…d64f4ef9
    • /engine/pdfjs/cmaps/B5-V.bcmap142 B · b5c37383…8e07f7d8
    • /engine/pdfjs/cmaps/B5pc-H.bcmap1 KB · bab6028a…d920f17e
    • /engine/pdfjs/cmaps/B5pc-V.bcmap144 B · 41543142…a7d08c63
    • /engine/pdfjs/cmaps/CNS-EUC-H.bcmap2 KB · e8f89cd6…e2b0e7a9
    • /engine/pdfjs/cmaps/CNS-EUC-V.bcmap2 KB · cae422be…917025a0
    • /engine/pdfjs/cmaps/CNS1-H.bcmap706 B · e8487971…108f501a
    • /engine/pdfjs/cmaps/CNS1-V.bcmap143 B · 42df8076…3d594a8a
    • /engine/pdfjs/cmaps/CNS2-H.bcmap504 B · bc6024d2…2a716ca7
    • /engine/pdfjs/cmaps/CNS2-V.bcmap93 B · 2e4f70a8…80399c38
    • /engine/pdfjs/cmaps/ETHK-B5-H.bcmap4 KB · d2f10fa5…1994c89a
    • /engine/pdfjs/cmaps/ETHK-B5-V.bcmap158 B · 1fea3fd0…f4c8b247
    • /engine/pdfjs/cmaps/ETen-B5-H.bcmap1 KB · 87ee6b3f…e322c18d
    • /engine/pdfjs/cmaps/ETen-B5-V.bcmap158 B · 47dc0d2c…7a17172c
    • /engine/pdfjs/cmaps/ETenms-B5-H.bcmap101 B · d5f5a73d…fd37fdee
    • /engine/pdfjs/cmaps/ETenms-B5-V.bcmap172 B · 18252fca…934543e0
    • /engine/pdfjs/cmaps/EUC-H.bcmap578 B · f9939cd5…c1d9c595
    • /engine/pdfjs/cmaps/EUC-V.bcmap170 B · 1283a50a…081426a3
    • /engine/pdfjs/cmaps/Ext-H.bcmap3 KB · 4000ed4e…f527350b
    • /engine/pdfjs/cmaps/Ext-RKSJ-H.bcmap3 KB · e0d2f0df…e7694caa
    • /engine/pdfjs/cmaps/Ext-RKSJ-V.bcmap218 B · f617a22b…0c21985d
    • /engine/pdfjs/cmaps/Ext-V.bcmap215 B · c2087fb8…edd490ce
    • /engine/pdfjs/cmaps/GB-EUC-H.bcmap549 B · 928bad06…b9b9d203
    • /engine/pdfjs/cmaps/GB-EUC-V.bcmap179 B · a9ad88ac…87533324
    • /engine/pdfjs/cmaps/GB-H.bcmap528 B · 1018c777…1cb3fd1c
    • /engine/pdfjs/cmaps/GB-V.bcmap175 B · 0b967891…6f94f863
    • /engine/pdfjs/cmaps/GBK-EUC-H.bcmap15 KB · 2103fed2…2307123b
    • /engine/pdfjs/cmaps/GBK-EUC-V.bcmap180 B · a7fd35dd…e77fcaea
    • /engine/pdfjs/cmaps/GBK2K-H.bcmap20 KB · 3d919ae7…c95fe8c4
    • /engine/pdfjs/cmaps/GBK2K-V.bcmap219 B · b927fdfd…7c6ac2dc
    • /engine/pdfjs/cmaps/GBKp-EUC-H.bcmap15 KB · d15ebd8e…430451d2
    • /engine/pdfjs/cmaps/GBKp-EUC-V.bcmap181 B · fdc736d4…707bb97a
    • /engine/pdfjs/cmaps/GBT-EUC-H.bcmap7 KB · dc5f44e4…709f60f9
    • /engine/pdfjs/cmaps/GBT-EUC-V.bcmap180 B · a1ad24e6…5c999be8
    • /engine/pdfjs/cmaps/GBT-H.bcmap7 KB · 8afda745…c547ec57
    • /engine/pdfjs/cmaps/GBT-V.bcmap176 B · cdc2ec5c…26768771
    • /engine/pdfjs/cmaps/GBTpc-EUC-H.bcmap7 KB · 7b23e2f7…91bf4f32
    • /engine/pdfjs/cmaps/GBTpc-EUC-V.bcmap182 B · d7a1b13e…f039f93b
    • /engine/pdfjs/cmaps/GBpc-EUC-H.bcmap557 B · 3c4a4eb8…9236e1c3
    • /engine/pdfjs/cmaps/GBpc-EUC-V.bcmap181 B · 215bdfa2…24c84d7c
    • /engine/pdfjs/cmaps/H.bcmap553 B · a0233e21…384bc9ee
    • /engine/pdfjs/cmaps/HKdla-B5-H.bcmap3 KB · 5242bce1…2aa4996b
    • /engine/pdfjs/cmaps/HKdla-B5-V.bcmap148 B · 2e0537f7…cec38e2c
    • /engine/pdfjs/cmaps/HKdlb-B5-H.bcmap2 KB · fdc81599…9e23b9b3
    • /engine/pdfjs/cmaps/HKdlb-B5-V.bcmap148 B · b249eb9d…5d139abf
    • /engine/pdfjs/cmaps/HKgccs-B5-H.bcmap2 KB · ab64c7fc…99bac591
    • /engine/pdfjs/cmaps/HKgccs-B5-V.bcmap149 B · 02ebdf7c…16b98956
    • /engine/pdfjs/cmaps/HKm314-B5-H.bcmap2 KB · bfd8bbde…dc223cef
    • /engine/pdfjs/cmaps/HKm314-B5-V.bcmap149 B · 2a64a815…f0667164
    • /engine/pdfjs/cmaps/HKm471-B5-H.bcmap2 KB · 49d7c037…04d745e6
    • /engine/pdfjs/cmaps/HKm471-B5-V.bcmap149 B · be24c109…2b54b132
    • /engine/pdfjs/cmaps/HKscs-B5-H.bcmap4 KB · 08599378…05a13914
    • /engine/pdfjs/cmaps/HKscs-B5-V.bcmap159 B · d073542b…fc8705c4
    • /engine/pdfjs/cmaps/Hankaku.bcmap132 B · b454701f…5d24974e
    • /engine/pdfjs/cmaps/Hiragana.bcmap124 B · 2ed66939…2767a414
    • /engine/pdfjs/cmaps/KSC-EUC-H.bcmap2 KB · 6784e16d…0be070c4
    • /engine/pdfjs/cmaps/KSC-EUC-V.bcmap164 B · fdb36bad…51cbbe95
    • /engine/pdfjs/cmaps/KSC-H.bcmap2 KB · c1f6d61f…515b3eee
    • /engine/pdfjs/cmaps/KSC-Johab-H.bcmap17 KB · 939993d2…4ff8ef8c
    • /engine/pdfjs/cmaps/KSC-Johab-V.bcmap166 B · 5d61967a…c621e519
    • /engine/pdfjs/cmaps/KSC-V.bcmap160 B · d7da5afd…3034360f
    • /engine/pdfjs/cmaps/KSCms-UHC-H.bcmap3 KB · 5b70d8f6…8fed078e
    • /engine/pdfjs/cmaps/KSCms-UHC-HW-H.bcmap3 KB · a5e6ba22…d936f8ec
    • /engine/pdfjs/cmaps/KSCms-UHC-HW-V.bcmap169 B · 890332a6…aa7bf411
    • /engine/pdfjs/cmaps/KSCms-UHC-V.bcmap166 B · 1631b531…111d570c
    • /engine/pdfjs/cmaps/KSCpc-EUC-H.bcmap2 KB · 70948068…01647ec7
    • /engine/pdfjs/cmaps/KSCpc-EUC-V.bcmap166 B · 03170788…e26fc49d
    • /engine/pdfjs/cmaps/Katakana.bcmap100 B · 3b6ca664…c9fc5c53
    • /engine/pdfjs/cmaps/LICENSE2 KB · aa92ab5a…e19839a2
    • /engine/pdfjs/cmaps/NWP-H.bcmap3 KB · 286c6c9e…51b1a78f
    • /engine/pdfjs/cmaps/NWP-V.bcmap252 B · 3a75fb7b…60ab4b4d
    • /engine/pdfjs/cmaps/RKSJ-H.bcmap534 B · a70de61a…ae859f78
    • /engine/pdfjs/cmaps/RKSJ-V.bcmap170 B · 68c1a645…ccf50b06
    • /engine/pdfjs/cmaps/Roman.bcmap96 B · 1c6b3ef9…b8f0d43f
    • /engine/pdfjs/cmaps/UniCNS-UCS2-H.bcmap48 KB · 77942811…2fb3c704
    • /engine/pdfjs/cmaps/UniCNS-UCS2-V.bcmap156 B · 1e5cc184…adbd280f
    • /engine/pdfjs/cmaps/UniCNS-UTF16-H.bcmap50 KB · 32ff139b…c228bfe5
    • /engine/pdfjs/cmaps/UniCNS-UTF16-V.bcmap156 B · 278eb1e6…8d46fb9a
    • /engine/pdfjs/cmaps/UniCNS-UTF32-H.bcmap53 KB · bf26eb67…e8f97336
    • /engine/pdfjs/cmaps/UniCNS-UTF32-V.bcmap160 B · f7da3caf…f0c0179e
    • /engine/pdfjs/cmaps/UniCNS-UTF8-H.bcmap54 KB · 2f2a742b…de5dc2d8
    • /engine/pdfjs/cmaps/UniCNS-UTF8-V.bcmap157 B · b7c3f107…ffd3af9d
    • /engine/pdfjs/cmaps/UniGB-UCS2-H.bcmap43 KB · 9201569b…51de18ed
    • /engine/pdfjs/cmaps/UniGB-UCS2-V.bcmap193 B · f1028233…899be216
    • /engine/pdfjs/cmaps/UniGB-UTF16-H.bcmap44 KB · 386fd395…09a84e35
    • /engine/pdfjs/cmaps/UniGB-UTF16-V.bcmap178 B · 0473cfbb…ed8ea84a
    • /engine/pdfjs/cmaps/UniGB-UTF32-H.bcmap46 KB · f48a145d…a961cd2f
    • /engine/pdfjs/cmaps/UniGB-UTF32-V.bcmap182 B · 106acc49…01535993
    • /engine/pdfjs/cmaps/UniGB-UTF8-H.bcmap47 KB · f217b439…a68588df
    • /engine/pdfjs/cmaps/UniGB-UTF8-V.bcmap181 B · a64df947…7c64fc63
    • /engine/pdfjs/cmaps/UniJIS-UCS2-H.bcmap25 KB · ad2352f4…c5e4da0b
    • /engine/pdfjs/cmaps/UniJIS-UCS2-HW-H.bcmap119 B · 16e87edc…bd93f9ce
    • /engine/pdfjs/cmaps/UniJIS-UCS2-HW-V.bcmap680 B · 1973457e…f73e2e5c
    • /engine/pdfjs/cmaps/UniJIS-UCS2-V.bcmap664 B · 42a133d8…44ac33d3
    • /engine/pdfjs/cmaps/UniJIS-UTF16-H.bcmap39 KB · f6a89c56…c49a05ee
    • /engine/pdfjs/cmaps/UniJIS-UTF16-V.bcmap643 B · c67126fc…683fef53
    • /engine/pdfjs/cmaps/UniJIS-UTF32-H.bcmap41 KB · 96195950…09cfba73
    • /engine/pdfjs/cmaps/UniJIS-UTF32-V.bcmap677 B · ed4dafda…7daedeb1
    • /engine/pdfjs/cmaps/UniJIS-UTF8-H.bcmap42 KB · 798fb0bf…f70ab448
    • /engine/pdfjs/cmaps/UniJIS-UTF8-V.bcmap678 B · 10216114…d21f4265
    • /engine/pdfjs/cmaps/UniJIS2004-UTF16-H.bcmap40 KB · 710a32d7…0e74cc97
    • /engine/pdfjs/cmaps/UniJIS2004-UTF16-V.bcmap647 B · 3b149aff…87fe098d
    • /engine/pdfjs/cmaps/UniJIS2004-UTF32-H.bcmap41 KB · 8d2658e1…8b29cdfb
    • /engine/pdfjs/cmaps/UniJIS2004-UTF32-V.bcmap681 B · 6dd47578…f418bacb
    • /engine/pdfjs/cmaps/UniJIS2004-UTF8-H.bcmap42 KB · 691c614c…eb484183
    • /engine/pdfjs/cmaps/UniJIS2004-UTF8-V.bcmap682 B · 40a8c7ea…deb829b7
    • /engine/pdfjs/cmaps/UniJISPro-UCS2-HW-V.bcmap705 B · 6826f94d…df08524b
    • /engine/pdfjs/cmaps/UniJISPro-UCS2-V.bcmap689 B · 493de9fd…4bd5789f
    • /engine/pdfjs/cmaps/UniJISPro-UTF8-V.bcmap726 B · 6181d382…432cad81
    • /engine/pdfjs/cmaps/UniJISX0213-UTF32-H.bcmap41 KB · 692044e1…99fc630c
    • /engine/pdfjs/cmaps/UniJISX0213-UTF32-V.bcmap684 B · dd54e16c…1a5b0646
    • /engine/pdfjs/cmaps/UniJISX02132004-UTF32-H.bcmap41 KB · f80ea5a9…66171cf6
    • /engine/pdfjs/cmaps/UniJISX02132004-UTF32-V.bcmap688 B · 94c22bd9…dd7cc57f
    • /engine/pdfjs/cmaps/UniKS-UCS2-H.bcmap26 KB · a1081396…a1b9811c
    • /engine/pdfjs/cmaps/UniKS-UCS2-V.bcmap178 B · 6cab5474…a11a2e43
    • /engine/pdfjs/cmaps/UniKS-UTF16-H.bcmap26 KB · 42d35b39…72938519
    • /engine/pdfjs/cmaps/UniKS-UTF16-V.bcmap164 B · 5bdb7390…fb642410
    • /engine/pdfjs/cmaps/UniKS-UTF32-H.bcmap26 KB · 3a01ec51…ed2588de
    • /engine/pdfjs/cmaps/UniKS-UTF32-V.bcmap168 B · dfda895e…0c68acd7
    • /engine/pdfjs/cmaps/UniKS-UTF8-H.bcmap28 KB · 3fac9c65…afd2002f
    • /engine/pdfjs/cmaps/UniKS-UTF8-V.bcmap169 B · 9ecc6cf3…75ed13ca
    • /engine/pdfjs/cmaps/V.bcmap166 B · b9ad1c0c…eb69866a
    • /engine/pdfjs/cmaps/WP-Symbol.bcmap179 B · 543923be…28d5d7bf
    • /engine/pdfjs/pdf.min.mjs459 KB · 57456c8e…6755d4c2
    • /engine/pdfjs/pdf.worker.min.mjs1.26 MB · 9536359f…a21ceb18
    • /engine/pdfjs/standard_fonts/FoxitDingbats.pfb30 KB · 845c7523…814a16ed
    • /engine/pdfjs/standard_fonts/FoxitFixed.pfb18 KB · b6c8fe53…a296101b
    • /engine/pdfjs/standard_fonts/FoxitFixedBold.pfb18 KB · f1b71597…b45ad603
    • /engine/pdfjs/standard_fonts/FoxitFixedBoldItalic.pfb19 KB · 8a000945…d9d24d4d
    • /engine/pdfjs/standard_fonts/FoxitFixedItalic.pfb19 KB · 5007faf8…ebaf3876
    • /engine/pdfjs/standard_fonts/FoxitSerif.pfb19 KB · 4f57d2b9…2a543f35
    • /engine/pdfjs/standard_fonts/FoxitSerifBold.pfb19 KB · 0bdf4b04…69022e80
    • /engine/pdfjs/standard_fonts/FoxitSerifBoldItalic.pfb21 KB · a406cac8…93cb2e10
    • /engine/pdfjs/standard_fonts/FoxitSerifItalic.pfb21 KB · 610ae068…578d0ae9
    • /engine/pdfjs/standard_fonts/FoxitSymbol.pfb17 KB · 47967d05…116c1539
    • /engine/pdfjs/standard_fonts/LICENSE_FOXIT2 KB · b578cdd2…a31c98b7
    • /engine/pdfjs/standard_fonts/LICENSE_LIBERATION22 KB · d2c4d5b3…7997e7dc
    • /engine/pdfjs/standard_fonts/LiberationSans-Bold.ttf137 KB · 361c61b8…3d33dddc
    • /engine/pdfjs/standard_fonts/LiberationSans-BoldItalic.ttf135 KB · a224075a…95fc281d
    • /engine/pdfjs/standard_fonts/LiberationSans-Italic.ttf162 KB · 832b4406…ed8ef512
    • /engine/pdfjs/standard_fonts/LiberationSans-Regular.ttf140 KB · f8ace1f8…0828221f
    • /engine/pdfjs/wasm/LICENSE_JBIG213 KB · 9e66b7f1…9731b4d1
    • /engine/pdfjs/wasm/LICENSE_OPENJPEG2 KB · a6af136f…14ab49b6
    • /engine/pdfjs/wasm/LICENSE_PDFJS_JBIG2555 B · aad3cce0…e37aaee5
    • /engine/pdfjs/wasm/LICENSE_PDFJS_OPENJPEG1 KB · 717fc62d…50313425
    • /engine/pdfjs/wasm/LICENSE_PDFJS_QCMS1 KB · 508a77d2…8e5874d1
    • /engine/pdfjs/wasm/LICENSE_QCMS1 KB · 36d847ae…d52d31bc
    • /engine/pdfjs/wasm/jbig2.wasm104 KB · 466f45c2…308eaab0
    • /engine/pdfjs/wasm/jbig2_nowasm_fallback.js152 KB · 68686ced…b45b5d9a
    • /engine/pdfjs/wasm/openjpeg.wasm251 KB · 95e50025…42f00cc5
    • /engine/pdfjs/wasm/openjpeg_nowasm_fallback.js446 KB · 9047b34b…eb6fd23e
    • /engine/pdfjs/wasm/qcms_bg.wasm97 KB · 663d8612…4b08800e
    • /engine/pdfnex-engine.js635 KB · f6540cb1…69f41637
    • /engine/qpdf/qpdf.js43 KB · c0e8fe62…a14d0884
    • /engine/qpdf/qpdf.wasm1.33 MB · abd933f4…dd440876
    • /engine/samples/sample-form.pdf6 KB · 10f08c1f…62cfcc6e
    • /engine/samples/sample-letter.pdf7 KB · cb7cbb42…8027902e
    • /engine/samples/sample-redaction.pdf2 KB · 9d93eff7…19034a31
    • /engine/samples/sample-scan.pdf9.37 MB · 10ce79a7…67b20970
    • /engine/tessdata/eng.traineddata.gz10.9 MB · ed350f37…c46a2468
    • /engine/tessdata/spa.traineddata.gz8.36 MB · 6cd52c54…de9973e6
    • /engine/tesseract/LICENSE11 KB · c6596eb7…bd92ba08
    • /engine/tesseract/tesseract-core-lstm.wasm.js3.9 MB · eef5f8b2…e46e8680
    • /engine/tesseract/tesseract-core-relaxedsimd-lstm.wasm.js3.91 MB · 861a536c…b39a59b3
    • /engine/tesseract/tesseract-core-simd-lstm.wasm.js3.9 MB · c58b46a4…62447b38
    • /engine/tesseract/tesseract.esm.min.js63 KB · 64871d76…2d05eb29
    • /engine/tesseract/worker.min.js111 KB · 576b7df7…0f182c6d

    To compare a file: save it from DevTools → Network while a tool loads, then run shasum -a 256 file (macOS, Linux) or certutil -hashfile file SHA256 (Windows).

  5. 05

    Read the source

    We plan to publish the engine code as open source. It is not public yet, so there is no link here. The three checks above work without it.