TESIGN
SAVED

EN · KO

  1. TESIGN / RADAR
  2. make-look-scanned

make-look-scanned

Make a PDF look like a paper scan

WHO USES ITPeople who need a scan-style document for a submission · OCR and document-pipeline developers · Designers

Use in the browser

Makes a PDF look like a physical scan (skew, paper tone, grain); Go CLI or in-browser WASM

★ 807▲ 155 HN

807 stars · checked on GitHub GitHub check 30 h late · no 7-day star increase observed (GH Archive) (as of ) · 155 Show HN points observed

CROSS-SIGNAL Show HN + GitHub BACK CATALOG

README example — the original page on the left and, on the right, the same page rendered as if scanned: slight skew, grayscale, warm paper tone and edge shadow

TESIGN TAKE

It makes 'looks scanned' reproducible: same input, same bytes out.

TRY

AT A GLANCE

LICENSE
AGPL-3.0
USAGE
Release source if you redistribute or host it as a service.
LANGUAGE
Go
PLATFORM
cli · web
ACTIVITY
last commit 87 days ago () · latest release v1.1.0 () · 2 releases
COMMUNITY
1 contributor · 1 open issue (incl. PRs) · made by: an individual
SOURCES
Show HN + GitHub
OPEN SOURCE
YES
FIRST SEEN
CATEGORY
PRODUCTIVITY

A summary, not legal advice.

WHY IT MATTERS

Each page is rasterized, run through the effect pipeline and reassembled into an image-only PDF; the original selectable text is gone, which is exactly what a basic scanner does. The seed is derived from the input file's content, so the same file always yields a byte-identical PDF, and `--seed N` gives a different but reproducible look. The browser build rasterizes with PDF.js and hands the pixels to the same Go effects code compiled to WASM; nothing is uploaded.

BUILD FROM THIS

  • Define a house 'scan look' as a TOML preset, or build the ~8 MB single-file HTML with `task build:web` and hand it out as an offline internal tool.

WHO IT'S FOR

People who need a scan-style document for a submission
convert the PDF without printing
OCR and document-pipeline developers
generate scan-quality test data
Designers
paper-document texture for mockups

START IN 5 MINUTES

# go build -o make-look-scanned .
# make-look-scanned in.pdf                 # -> in.scanned.pdf
# make-look-scanned in.pdf --noise 0.4 --skew 2.5 --jpeg-quality 30
# make-look-scanned --preset medium in.pdf
# Browser version: https://overflowy.github.io/make-look-scanned/

CAVEATS

  • AGPL-3.0 — the CLI statically links MuPDF (via go-fitz), so distributing the binary requires offering the source. The browser build has no MuPDF and uses PDF.js (Apache-2.0). Building needs Go and a C toolchain (cgo). Output is an image-only PDF, so text cannot be searched or selected. CLI and browser output are visually equivalent but not byte-identical. Last push 2026-06-21.

RECEIPT

FIRST SEEN
AT SOURCE
KEPT
CREATED → FIRST SEEN
84d
SOURCES
Show HN + GitHub
◌ BACK CATALOG
Reconstructed from archive data, not a live discovery.

The same facts in machine-readable form — View as Markdown · JSON

SIMILAR TOOLS

Up to five from PRODUCTIVITY by ★ total: edited entries first, then repository cards; this entry is highlighted. Drawn from the same stored snapshot as the rankings — a comparison, not a recommendation.

IMAGENAME★ TOTAL▲ 7dLICENSEPLATFORMLAST PUSH
Hermes Agent landing: blue background, the headline 'The agent that grows with you' and an engraving-style winged figure.
Hermes AgentSelf-improving personal agent★ 246k▲ +375MITpermissivelinux · macos · windows · android · cli
README example — the original page on the left and, on the right, the same page rendered as if scanned: slight skew, grayscale, warm paper tone and edge shadow
make-look-scannedMake a PDF look like a paper scanTHIS ENTRY★ 807AGPL-3.0copyleftcli · web
immich-app/immichCARD★ 114k▲ +82AGPL-3.0copyleft
stirling-tools/stirling-pdfCARD★ 91.9k▲ +54Licence unconfirmedunconfirmed
sherlock-project/sherlockCARD★ 91.5k▲ +64MITpermissive

TIMELINE

  1. Repository created
  2. Show HN post ↗
  3. FIRST SEEN BY TESIGN ◌ BACK CATALOG