Skip to content

Repository files navigation

CiteKit

Upload a scientific PDF and instantly extract every reference as a ready-to-use .bib file — or just paste a DOI to get its BibTeX citation. No sign-up, no server, runs entirely in your browser.

Try it online →

MIT License

What it does

  • PDF → BibTeX: Drop in a paper, CiteKit parses the reference section, resolves each entry to a DOI via CrossRef, and generates the full .bib output — ready to copy or download.
  • DOI → BibTeX: Have a DOI already? Paste it in and get the formatted citation instantly.
  • Edit & curate: Add, remove, or correct DOIs before generating citations — useful when extraction misses one or picks up a false positive.
  • Export: Copy all citations to your clipboard or download a .bib file.

Upload a PDF and extract DOIs

Upload and extract DOIs from a PDF

Generate BibTeX and export

Generated BibTeX citations ready to copy or download

Quick start

npm install
npm run dev

Open http://localhost:5173.

How extraction works

CiteKit parses the PDF text client-side using pdf.js, locates the numbered reference section, splits individual entries, and queries the CrossRef API to resolve each reference to a DOI. BibTeX is then fetched from doi.org content negotiation or doi2bib.

No server required — everything runs in the browser.

Tech stack

  • React 19 + TypeScript
  • Vite for dev/build
  • Tailwind CSS v4 for styling
  • Radix UI primitives via shadcn/ui
  • pdf.js for client-side PDF parsing

Scripts

Command Description
npm run dev Start dev server
npm run build Type-check and build for production
npm run preview Preview production build
npm run lint Run ESLint

License

MIT

About

Upload a scientific PDF and instantly extract every reference as a ready-to-use .bib file — or just paste a DOI to get its BibTeX citation. No sign-up, no server, runs entirely in your browser.

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

Generated from github/spark-template