BROWSER JS · CLIENT-SIDE · WASM

Build multi-page TIFF in the browser.

Turn scans, photos, and pages into one archival, multi-page TIFF, all in the browser. WebAssembly handles the Group 4 or LZW encoding on the device, so nothing uploads and nothing round-trips to a server.

Runs 100% client-side in WASM Group 4 & LZW compression No server round-trip, works offline
WHAT IT DOES

Archival TIFF, built where the data already lives

  • ✓ Multi-page TIFF assembled client-side with WebAssembly
  • ✓ Group 4 (fax-compatible) and LZW compression built in
  • ✓ No upload and no server round-trip, so files never leave the device
  • ✓ Mix scans, camera photos, and image pages into one container
  • ✓ Set DPI, bit depth, and page order per document
  • ✓ Runs offline in any modern browser, even behind a firewall
  • ✓ Deterministic output that rebuilds identically for long-term retention
javascript
import { DocumentTools } from "@abscode/browser";

// loads the WASM runtime, nothing is uploaded
const tools = await DocumentTools.load();

const tiff = await tools.buildTiff({
  pages: [scan1, scan2, scan3], // File | Blob | ImageData
  compression: "group4",        // fax-compatible G4
  dpi: 300,
});

saveBlob(tiff, "archive.tiff"); // tiff is a Blob
USE CASES

Common scenarios

Archival web apps

Package captured pages into a standards-friendly multi-page TIFF right in the browser, then send a single container to your record store. Shrink each page first with Browser Compression.

Banking portals

Customers assemble statements and KYC packets client-side, so sensitive documents stay on the device and never touch an upload server.

Insurance intake

Combine claim photos and forms into one ordered TIFF at the point of capture. It lands in the adjuster's document system without a round-trip.

Compliance retention

Produce bitonal Group 4 TIFFs that match long-term retention formats and rebuild identically every time.

Fax-compatible export

Emit Group 4 (T.6) TIFFs that drop straight into legacy fax and imaging pipelines with no re-encoding step on the backend.

Government e-forms

Bundle multi-page submissions into an archival TIFF offline, then convert to other formats later with Browser Conversion.

PRICING

Priced for every team

Included in the SDK license. Pricing shown in your local currency.

Affordable to all

Because the work runs in the browser, there is no per-page compute bill on your servers. The same flat license covers one document a day or millions across every user's device.

See pricing →

FAQ

Common questions

Can I build a multi-page TIFF entirely in the browser?
Yes. The library assembles a multi-page TIFF on the device using a WebAssembly runtime, so pages are encoded in the browser with no upload and no server round-trip. It works offline in any modern browser, which keeps sensitive documents on the user's machine.
What TIFF compression does the browser builder support?
It writes TIFF using Group 4 (CCITT T.6, fax-compatible) or LZW compression. Group 4 produces compact bitonal archives that suit long-term retention and legacy fax pipelines, while LZW keeps grayscale and color pages lossless.
Which image formats can I combine into one TIFF?
You can feed JPEG, PNG, single-page or multi-page TIFF, and PDF pages into the builder and get one ordered multi-page TIFF back. Mixed sources such as scans, camera photos, and existing pages merge into a single container.
Does building a TIFF upload my files to a server?
No. All encoding runs client-side in WebAssembly, so files never leave the device and there is no server round-trip. That makes it suitable for banking, KYC, and healthcare flows where documents cannot be sent to a backend.
Can I control the DPI, page size, and page order of the output?
Yes. You can set the output DPI, choose a page layout from A0 through A6 (with A4 as the fallback), and control the order of pages in the container. A custom layout can stretch each image to fill the page or fit it while preserving aspect ratio.
Can I produce black-and-white (bitonal) TIFFs for archival?
Yes. A page filter lets you output normal color, grayscale, or bitonal black-and-white, so you can generate compact Group 4 bitonal TIFFs for compliance retention. The same input rebuilds an identical file every time for deterministic, long-term storage.
How does the library report errors when building a TIFF?
Every method resolves with a result object carrying STATUS, DESCRIPTION, and DATA fields instead of throwing exceptions. Your code checks STATUS, then reads DATA on success or DESCRIPTION for the reason on failure, which keeps browser integration predictable.
Can I try it for free, and how is it licensed?
Yes. An unlicensed demo build runs the full pipeline and adds a watermark band to the output, and a license removes the watermark. It ships under a single flat SDK license with no per-page server compute bill — see pricing or contact us.
THE FULL TOOLKIT

Explore the rest of the Browser JS Library

One license, every capability — take this and you also get all of these.

Build TIFF in the browser with the free trial

Free signup credit. No card required.