npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

pdflinux

v0.1.16

Published

Privacy-first PDF tools for Linux, Windows & macOS — runs 100% offline

Readme

PDF & Chips

npm version npm downloads License Platform

100% free. No subscription. No account. Your files never leave your computer.

A fast, privacy-first desktop application for all your everyday PDF tasks. Built with Tauri + Rust on the backend and React + TypeScript on the frontend — runs entirely on your local machine, no internet connection required, no files uploaded anywhere.


Table of Contents


Quick Install

Linux / macOS

npx pdf-chips

Windows

powershell -ExecutionPolicy Bypass -File install.ps1

Or if you have Node.js installed:

npx pdf-chips

That's it. The installer detects your OS, installs all dependencies, downloads the pre-built release (or builds from source), and adds it to your application menu / Start Menu.


Why PDF & Chips?

Most online PDF tools require you to upload your files to their servers. For sensitive documents — contracts, medical records, IDs — that's a real risk. PDF & Chips processes everything on your machine, with no internet connection and no uploads anywhere.

  • Free forever — no freemium, no trial, no subscription
  • Privacy-first — zero network requests, zero telemetry
  • Lightweight — powered by Tauri (uses the OS native webview, not a bundled Chromium like Electron)
  • Cross-platform — Linux, Windows, and macOS
  • Open source — auditable, forkable, yours

Features

21 tools, all running locally on your machine:

| Tool | Description | |---|---| | Compress | Reduce PDF file size using Ghostscript with quality presets | | Merge | Combine multiple PDFs into one, with drag-to-reorder support | | Split | Extract a range of pages (e.g. 1-5, 8, 11-15) into separate files | | PDF to Image | Export every page to PNG or JPG via Poppler | | Image to PDF | Bundle one or more images into a single PDF | | Protect | Encrypt a PDF with a password (QPDF) | | Unlock | Remove password protection from a PDF | | Rotate | Rotate pages by 90°, 180°, or 270° | | Watermark | Stamp text or image watermarks on pages | | Crop | Trim page margins to a custom crop box | | Delete Pages | Remove specific pages from a document | | Reorder Pages | Drag and drop pages into a new order | | Add Page Numbers | Stamp page numbers onto every page | | PDF to Text | Extract plain text content from a PDF | | Grayscale | Convert a color PDF to black and white | | OCR | Run optical character recognition on scanned pages | | PDF Info | Inspect metadata: page count, dimensions, title, author | | TXT → PDF | Convert plain text files (.txt) to PDF via LibreOffice | | Markdown → PDF | Convert Markdown (.md) to PDF via pandoc or LibreOffice | | Word → PDF | Convert Word documents (.docx, .doc, .odt, .rtf) to PDF via LibreOffice | | PPT → PDF | Convert presentations (.pptx, .ppt, .odp) to PDF via LibreOffice |


Prerequisites

PDF & Chips relies on a few native CLI utilities for PDF processing. The installer will attempt to install these automatically.

| Tool | Used for | Linux | Windows | macOS | |---|---|---|---|---| | Ghostscript | Compress, Watermark, Page Numbers, Grayscale | apt/dnf/pacman | winget | brew | | Poppler (pdfinfo, pdftoppm, pdftotext) | PDF info, preview, text extraction | apt/dnf/pacman | release zip | brew | | QPDF | Merge, Split, Encrypt, Decrypt, Reorder | apt/dnf/pacman | winget | brew | | Tesseract | OCR | apt/dnf/pacman | winget | brew | | LibreOffice | TXT/Word/PPT → PDF | apt/dnf/pacman | libreoffice.org | brew / libreoffice.org | | pandoc + xelatex | Markdown → PDF (optional, best quality) | apt install pandoc texlive-xetex | pandoc.org | brew install pandoc |

On Windows the tools must be on your system PATH. The installer gives step-by-step instructions if any are missing.


Installation

Linux

Option 1 — npx (easiest)

npx pdf-chips

Option 2 — Git Clone

git clone https://github.com/saaandbite/pdfchips.git
cd pdfchips
./install.sh

The install.sh script will automatically:

  • Detect your distro (Debian/Ubuntu, Fedora/RHEL/CentOS, Arch, etc.)
  • Install all required dependencies
  • Download the pre-built package or build from source
  • Install .deb / .rpm / AppImage for your distro
  • Add a shortcut to your app menu and a pdf-chips command in the terminal

To uninstall:

./uninstall.sh

Windows

Option 1 — npx (easiest, requires Node.js)

npx pdf-chips

The installer auto-detects Windows and downloads the NSIS .exe setup wizard.

Option 2 — PowerShell script

git clone https://github.com/saaandbite/pdfchips.git
cd pdfchips
powershell -ExecutionPolicy Bypass -File install.ps1

The install.ps1 script will:

  1. Install Ghostscript, QPDF, and Tesseract via winget (if available)
  2. Guide you to install Poppler manually if needed
  3. Download the pre-built .exe installer from GitHub Releases (or build from source)
  4. Launch the NSIS setup wizard

Note on CLI tools: PDF & Chips on Windows calls gs.exe, qpdf.exe, pdfinfo.exe, pdftoppm.exe, and tesseract.exe. Make sure these are on your PATH for all features to work.

macOS

Option 1 — npx (easiest)

npx pdf-chips

Option 2 — Git Clone

git clone https://github.com/saaandbite/pdfchips.git
cd pdfchips
brew install ghostscript poppler qpdf tesseract
./install.sh

macOS produces a .dmg bundle via npm run tauri build.

Launching the app

After installation:

  • Linux — search for "PDF & Chips" in your desktop launcher, or run pdf-chips in the terminal
  • Windows — search for "PDF & Chips" in the Start Menu
  • macOS — open from Applications or Spotlight

Update & Uninstall

Check installed version

pdf-chips --version

Update to the latest version

npx pdf-chips@latest

Uninstall (Linux/macOS)

npx pdf-chips uninstall

Or from a git clone:

./uninstall.sh

Uninstall (Windows)

Use Add or Remove Programs → search for "PDF & Chips" → Uninstall.


Tech Stack

| Layer | Technology | |---|---| | Desktop shell | Tauri 2 | | Backend / PDF engine | Rust + Ghostscript + Poppler + QPDF | | Frontend | React 19, TypeScript, Vite | | Routing | React Router 7 | | Styling | Vanilla CSS with dark/light mode | | Windows installer | NSIS (via Tauri bundle) |

Why Tauri instead of Electron?

Tauri uses the operating system's native webview (WebKitGTK on Linux, WebView2 on Windows, WKWebView on macOS) instead of bundling a full Chromium engine. The result is a binary that is 10–20× smaller and uses a fraction of the RAM compared to equivalent Electron apps.


Development

To run from source for local development:

git clone https://github.com/saaandbite/pdfchips.git
cd pdfchips
npm install
npm run tauri dev

To build a production binary:

npm run tauri build

Output installers are placed in src-tauri/target/release/bundle/:

| Format | Platform | |---|---| | .deb | Debian / Ubuntu and derivatives | | .rpm | Fedora / RHEL / CentOS and derivatives | | .AppImage | Any Linux distro (portable) | | .exe (NSIS) | Windows | | .dmg | macOS |


Project Structure

pdfchips/
├── src/                        # React frontend (TypeScript)
│   ├── components/             # Shared UI components (Sidebar, Dropzone, etc.)
│   ├── pages/                  # One file per PDF tool
│   ├── App.tsx                 # Route definitions
│   └── main.tsx                # React entry point
│
├── src-tauri/                  # Rust backend (Tauri)
│   ├── src/
│   │   ├── main.rs             # Tauri entry point
│   │   └── pdf_engine.rs       # PDF processing logic (calls gs, qpdf, poppler)
│   ├── tauri.conf.json         # App window and build configuration
│   └── Cargo.toml              # Rust dependencies
│
├── bin/pdflinux                # npm CLI wrapper (cross-platform)
├── install.sh                  # Linux/macOS installer script
├── install.ps1                 # Windows PowerShell installer script
└── uninstall.sh                # Linux/macOS uninstaller script

Contributing

Contributions are welcome. If you find a bug or want to add a feature:

  1. Fork the repository
  2. Create a branch: git checkout -b feature/your-feature-name
  3. Commit your changes: git commit -m "feat: describe your change"
  4. Push and open a Pull Request

Please open an issue first for larger changes so we can discuss the approach.


License

This project is open source under the MIT License.


Privacy

PDF & Chips does not collect any data. It makes no network requests. All processing happens locally using the CLI tools installed on your system (Ghostscript, Poppler, QPDF, Tesseract). Your documents are never uploaded, logged, or shared anywhere.