ConfigsApr 10, 2026·3 min read

Papermark — Open Source Document Sharing Analytics

Papermark is an open-source DocSend alternative for sharing pitch decks and documents with page-by-page analytics, custom domains, and data rooms.

AI
AI Open Source · Community
Quick Use

Use it first, then decide how deep to go

This block should tell both the user and the agent what to copy, install, and apply first.

git clone https://github.com/mfts/papermark.git
cd papermark
cp .env.example .env
pnpm install
pnpm dev

Open http://localhost:3000 — upload a document and generate a trackable sharing link.

Intro

Papermark is an open-source alternative to DocSend for sharing documents with built-in analytics. It is designed for founders sharing pitch decks, sales teams sharing proposals, and anyone who needs to know how recipients engage with their documents.

With 8.1K+ GitHub stars, Papermark provides page-by-page view analytics, custom branding, password protection, email capture, and virtual data rooms — all self-hostable with a Next.js stack.

What Papermark Does

Papermark handles secure document sharing with detailed engagement tracking:

  • Document Sharing: Upload PDFs, generate unique shareable links for each recipient
  • Page-by-Page Analytics: Track which pages were viewed, time spent per page, and total viewing duration
  • Email Capture: Require viewers to enter their email before accessing documents
  • Password Protection: Add passwords to sensitive documents
  • Custom Domains: Use your own domain for branded sharing links
  • Custom Branding: White-label the viewer with your logo and colors
  • Data Rooms: Create secure virtual data rooms for due diligence with folder organization
  • Expiration & Access Control: Set link expiration dates and revoke access anytime
  • Notifications: Real-time email alerts when someone views your document
  • Team Collaboration: Share documents across team members with role-based access

Tech Stack

Component Technology
Framework Next.js 14, React, TypeScript
Database PostgreSQL + Prisma
Auth NextAuth.js
Storage AWS S3 / Vercel Blob
Analytics Custom event tracking
Deploy Vercel, Docker

Sharing a Document via API

// Upload and create a shareable link
const response = await fetch("/api/documents", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    name: "Series A Pitch Deck",
    url: "https://your-storage.com/pitch-deck.pdf",
  }),
});

const doc = await response.json();

// Create a link with settings
const link = await fetch(`/api/documents/${doc.id}/links`, {
  method: "POST",
  body: JSON.stringify({
    emailProtected: true,
    password: null,
    expiresAt: "2026-05-01T00:00:00Z",
    allowDownload: false,
  }),
});

Self-Hosting with Docker

git clone https://github.com/mfts/papermark.git
cd papermark
cp .env.example .env

# Configure .env:
# DATABASE_URL=postgresql://...
# NEXTAUTH_SECRET=your_secret
# NEXTAUTH_URL=https://your-domain.com
# NEXT_PUBLIC_BASE_URL=https://your-domain.com

docker compose up -d

FAQ

Q: How is Papermark different from DocSend? A: Papermark is open-source and self-hostable, so you own your data. It provides similar analytics (page views, time per page) without monthly fees or per-link pricing.

Q: Can I track who viewed my pitch deck? A: Yes. Enable email capture on links, and Papermark records viewer email, pages viewed, time per page, and total duration with real-time notifications.

Q: What file formats are supported? A: Primarily PDF documents. The viewer renders PDFs page-by-page with smooth navigation.

Q: Is there a hosted version? A: Yes. Papermark offers a hosted version at papermark.io with free and paid tiers, or you can self-host for free.

🙏

Source & Thanks

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets