AlexandrosGounis/pdfx

A free-floating 2D Canvas for processing multiple PDF files simultaneously

TypeScript

1,079

27 commits

updated Sep 19, 2026

See the code

README

PDFx

One file. Many documents. Still a PDF.


Download  Live Demo

License: MIT   Platform   Format spec


PDFx viewer

What it is

PDFx is an open, backwards compatible extension of PDF that bundles many documents into a single file, plus a minimal desktop viewer for macOS, Windows, and Linux.

The files produced are fully valid PDFs: open them anywhere and every page shows in sequence. Open them in PDFx and it splits back into the original documents. Plain single PDFs work as they are.

Drag and drop .pdf files, images or folders anywhere in the window. Each document renders as a horizontal strip of pages, and documents stack vertically. Reorder or remove them, then Export PDF to save the whole collection as one file.

See SPEC.md for the format. It is short: the entire trick is one embedded JSON manifest.

How to run

Built with Electron, Vite, TypeScript, and React. PDF rendering by pdf.js, assembly by pdf-lib.

yarn              # install
yarn dev          # run in development
yarn dev:web      # run on the web
yarn build:mac    # build:win for windows, build:linux for linux

The AI assistant needs a provider API key: copy .dev.vars.example to .dev.vars, and set your key (Google, Anthropic, or OpenAI).

License

MIT

electron
electron-app
electronjs
liquid-glass
macos-app
open-source
pdf
pdf-generator
pdf-parser
pdf-processing
pdf-tools
pdf-viewer
react
spec
typescript

AlexandrosGounis/pdfx

A free-floating 2D Canvas for processing multiple PDF files simultaneously

TypeScript

1,079

27 commits

updated Sep 19, 2026

See the code

README

PDFx

One file. Many documents. Still a PDF.


Download  Live Demo

License: MIT   Platform   Format spec


PDFx viewer

What it is

PDFx is an open, backwards compatible extension of PDF that bundles many documents into a single file, plus a minimal desktop viewer for macOS, Windows, and Linux.

The files produced are fully valid PDFs: open them anywhere and every page shows in sequence. Open them in PDFx and it splits back into the original documents. Plain single PDFs work as they are.

Drag and drop .pdf files, images or folders anywhere in the window. Each document renders as a horizontal strip of pages, and documents stack vertically. Reorder or remove them, then Export PDF to save the whole collection as one file.

See SPEC.md for the format. It is short: the entire trick is one embedded JSON manifest.

How to run

Built with Electron, Vite, TypeScript, and React. PDF rendering by pdf.js, assembly by pdf-lib.

yarn              # install
yarn dev          # run in development
yarn dev:web      # run on the web
yarn build:mac    # build:win for windows, build:linux for linux

The AI assistant needs a provider API key: copy .dev.vars.example to .dev.vars, and set your key (Google, Anthropic, or OpenAI).

License

MIT

electron
electron-app
electronjs
liquid-glass
macos-app
open-source
pdf
pdf-generator
pdf-parser
pdf-processing
pdf-tools
pdf-viewer
react
spec
typescript

Significant stargazers

Adrian Sieber

458 followers · starred Jun 2026

William Desportes

269 followers · starred Aug 2026

Tyce Herrman

16 followers · starred Jun 2026

Stéphane Busso

292 followers · starred Sep 2026