explaingit

aditya-pandey/slate

Analysis updated 2026-05-18

1TypeScriptAudience · generalComplexity · 2/5LicenseSetup · easy

TLDR

An open-source PDF editor that runs fully in the browser with no uploads, supporting in-place text editing, OCR for scanned pages, page organization, and desktop builds for Mac and Windows.

Mindmap

mindmap
  root((The Slate))
    View Features
      Scroll zoom search
      Outline sidebar
      Night mode
    Edit Features
      In-place text edit
      Delete text images
      Link add remove
    Page Operations
      Reorder rotate
      Combine PDFs
      OCR scanned pages
    Platforms
      Browser local
      Mac desktop
      Windows desktop
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Edit text directly inside a PDF in the browser without uploading it to any external service.

USE CASE 2

Run OCR on a scanned document to make image-only pages editable.

USE CASE 3

Combine several PDFs, reorder their pages, and download a single merged file.

What is it built with?

TypeScriptReactVitepdf.jspdf-libTesseract.jsTauri

How does it compare?

aditya-pandey/slateabidoo22/pixelorama-mcpaizxz-ai/splicing
Stars111
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyeasymoderateeasy
Complexity2/53/52/5
Audiencegeneralvibe coderdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Runs in the browser with no backend, for desktop builds on macOS you need to bypass an unsigned-app OS warning.

MIT license, use, copy, modify, and distribute freely for any purpose including commercial use.

In plain English

The Slate is an open-source PDF editor that runs entirely inside a web browser, with no account required and no files uploaded to any server. Everything it does happens locally on your computer. For viewing, it offers smooth scrolling through large documents, zoom and fit controls, text search, text selection, an outline and thumbnail sidebar, a night mode, and keyboard navigation. For editing, you can click directly on existing text in a PDF and retype it in place, with the font and formatting preserved. You can also add, edit, or remove hyperlinks, delete text passages and images from pages, reorder pages by dragging, rotate pages, and delete pages entirely. For scanned PDFs or image-only documents that contain no selectable text, a built-in OCR feature can recognize the text and make it editable like any other part of the file. Multiple PDFs can be dragged in and combined into one. The technical foundation is React and TypeScript for the interface, Mozilla's pdf.js library for rendering, pdf-lib for modifying and exporting PDF files, and Tesseract.js for optical character recognition. The PDF logic is separated into its own folder with no framework dependency, which means the same code can also run as a native desktop application on macOS and Windows through a wrapper called Tauri. Installer files for both platforms are built automatically and attached to GitHub releases. Running locally requires Node.js: install dependencies with npm install and start a development server with npm run dev. A production build goes to a dist folder. Desktop builds require an additional setup step to bypass unsigned-app warnings on macOS and Windows. The project is MIT licensed.

Copy-paste prompts

Prompt 1
How do I run The Slate locally and what does npm run dev start up?
Prompt 2
How do I build a native desktop app for macOS from The Slate source code using Tauri?
Prompt 3
How does The Slate handle OCR for scanned PDFs and what library does it use?

Frequently asked questions

What is slate?

An open-source PDF editor that runs fully in the browser with no uploads, supporting in-place text editing, OCR for scanned pages, page organization, and desktop builds for Mac and Windows.

What language is slate written in?

Mainly TypeScript. The stack also includes TypeScript, React, Vite.

What license does slate use?

MIT license, use, copy, modify, and distribute freely for any purpose including commercial use.

How hard is slate to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is slate for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub aditya-pandey on gitmyhub

Verify against the repo before relying on details.