Wiki › Project

zed-pdf-lsp

Project · tool · 2026

zed-pdf-lsp is a language server, written in Rust, that lets the Zed editor open PDF files. When Zed opens a PDF, the server extracts its text and presents it as readable Markdown.

Features

  • Keeps paragraphs and headings, and renders multi-page PDFs page by page.
  • Handles corrupted, encrypted and image-only PDFs with clear errors instead of crashing.
  • Converts asynchronously, so the editor never freezes, with a 10-second timeout and a 500 MB memory limit per file.
  • Logs in a structured format.

How it's built

It is built on tower-lsp for the Language Server Protocol and pdf-extract for reading PDFs, and the code is split into the server, message handling, a document registry and the converter. Besides ordinary tests it uses property-based testing with proptest, which generates random inputs to find edge cases. A GitHub Actions workflow builds and tests it.

See also

In the knowledge graph

zed-pdf-lsp and the 9 things it is linked to. Open any dot for its page, or explore it in the full graph.

When
2023202420252026
Mar 2026 · 4 commits

As data

Everything on this page is read from triples in the knowledge graph. These are the 21 it states about zed-pdf-lsp, and 5 more its ontology implies; the console runs SPARQL over the whole graph, here in your browser.

Download
@prefix id: <https://ask.chaipat.cc/id/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix cj: <https://ask.chaipat.cc/ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .

id:ZedPDFLSP
    a cj:Project ;
    rdfs:label "zed-pdf-lsp" ;
    cj:description "Language server that lets the Zed editor show PDFs as Markdown." ;
    cj:context id:OpenSource ;
    cj:repository "https://github.com/AppleBoiy/zed-pdf-lsp"^^xsd:anyURI ;
    cj:firstCommit "2026-03-31"^^xsd:date ;
    cj:lastCommit "2026-03-31"^^xsd:date ;
    cj:commitCount 4 ;
    cj:kind "tool" ;
    cj:theme id:ThemeSystems ;
    cj:uses id:Rust , id:TowerLSP , id:GitHubActions ;
    cj:tier 2 ;
    cj:implements id:LSP , id:PropertyBasedTesting ;
    cj:runsOn id:ZedEditor ;
    cj:handles id:PDFFormat ;
    cj:article "https://ask.chaipat.cc/wiki/ZedPDFLSP"^^xsd:anyURI ;
    cj:activeIn id:Y2026 ;
    cj:activity _:b183 .