ClipCite Add to Chrome

DOI to BibTeX: Every Way to Turn a DOI Into a Citation (2026)

You have a DOI — from a paper, a dataset, a preprint — and you need a BibTeX entry for your .bib file. This is one of the few citation problems that is genuinely solved: the DOI system itself will hand you publisher-authored BibTeX if you ask correctly. The catch is that the half-dozen popular ways of asking produce entries of very different quality, and the most famous one (Google Scholar) is the least reliable.

Here is every method that works in 2026, when to use each, and the gotchas that quietly corrupt bibliographies.

The 30-second summary

Whatever you use, spend 30 seconds on the field-quality checklist at the end — that's where real bibliographies go wrong.

1. In the browser, while you read: ClipCite

Full disclosure: ClipCite is our extension, and this is its blog. It exists because the DOI-to-BibTeX moment usually happens while you are reading, not while you are staring at a bare DOI string. You're on the article page, you've found the passage you want to quote, and now you need (a) the quote and (b) the citation.

ClipCite (free, Chrome/Edge) does both in one step: highlight the passage, click, and you get the quote as Markdown plus a ready @misc BibTeX entry. If the page carries a DOI — in its metadata, or visibly on the page, as journal articles and preprints almost always do — ClipCite resolves it against Crossref and uses the publisher-deposited authors, date, and title instead of scraping the page. No account, everything stays in the browser.

Honest limits: if what you have is a bare DOI in your clipboard and no page open, a converter below is the shorter path. And for managing hundreds of references across a multi-year project, you want Zotero as the system of record — ClipCite covers the capture moment, not library management.

2. The canonical method: ask the DOI itself

This is the method every other tool wraps. DOI resolvers support content negotiation: request a DOI URL with the right Accept header and you get structured metadata back instead of a redirect to the landing page.

curl -LH "Accept: application/x-bibtex" https://doi.org/10.1038/s41586-021-03819-2

returns, straight from the publisher's Crossref deposit:

@article{Jumper_2021,
  title={Highly accurate protein structure prediction with AlphaFold},
  volume={596}, number={7873}, pages={583–589},
  journal={Nature}, publisher={Springer Science and Business Media LLC},
  author={Jumper, John and Evans, Richard and ...},
  year={2021}, month=jul,
  DOI={10.1038/s41586-021-03819-2}
}

Why this is the gold standard: the metadata comes from the registration agency (Crossref for most journals, DataCite for datasets and many preprints), which is what the publisher itself deposited. No scraping, no guessing. It works for any DOI regardless of which agency registered it.

Caveats, because there are always caveats:

3. doi2bib — the same thing, as a website

doi2bib.org is a thin, free web UI over exactly the content negotiation above: paste a DOI, get the BibTeX, copy. It also accepts arXiv IDs and PubMed IDs, which the raw curl method doesn't. If you convert a few DOIs a week and don't live in a terminal, this is the right tool and there is genuinely nothing wrong with it. Same caveats as the curl method, because it is the curl method.

4. ZoteroBib — when you need APA, MLA, or Chicago instead

ZoteroBib (by the Zotero team, free, no install, no account) takes a DOI — or a URL, ISBN, or PubMed ID — and formats the citation in any of the ~10,000 CSL styles, BibTeX export included. It's the best answer when the deliverable is a formatted bibliography for a Word document rather than a .bib file. It keeps your working list in browser storage, so it's genuinely usable for a whole essay's bibliography, not just one-off lookups.

5. Zotero proper — if you already keep a library

If you use Zotero as your reference manager, don't paste BibTeX into it — use the magic wand button ("Add item by identifier"), give it the DOI, and Zotero fetches the same Crossref metadata into your library. Export to BibTeX happens at the end, ideally via the Better BibTeX plugin, which gives you stable citation keys and automatic .bib file syncing. This is the right architecture for a thesis or multi-paper project: DOIs go in, one continuously-updated .bib file comes out. Our Zotero alternatives guide covers when this is overkill.

6. Publisher "export citation" buttons — fine, inconsistent

Nearly every publisher page (ACM, IEEE Xplore, SpringerLink, ScienceDirect, Wiley) has a cite/export button that emits BibTeX. Quality varies more than it should:

Usable in a pinch; just read what you paste.

7. Google Scholar — the popular one you should distrust

The cite button under every Scholar result emits BibTeX, and because it's the most visible option, it's the most-used — and it is reliably the worst of this list. Scholar's BibTeX is generated from its own crawl, not from publisher deposits. Known, persistent problems: missing DOI fields (almost always), wrong or abbreviated venues, first-initial-only author names, incorrect years for papers with preprint versions, and citations that point to the arXiv version when you meant the published one.

For a quick one-off in a course assignment, fine. For a bibliography that reviewers will see, convert from the DOI instead — it takes the same ten seconds and the metadata is authoritative.

Batch converting a list of DOIs

Got a dois.txt with one DOI per line? The content-negotiation method loops:

while read -r doi; do
  curl -sLH "Accept: application/x-bibtex" "https://doi.org/$doi"
  printf "\n\n"
done < dois.txt > refs.bib

Two etiquette notes that also make it work better: keep it to a few requests per second, and identify yourself (curl -A "mailto:you@university.edu" ...) — Crossref routes identified traffic to a more reliable "polite" pool. For hundreds of DOIs, importing the list into Zotero (magic wand accepts multiple identifiers) and exporting once via Better BibTeX is more robust and deduplicates as it goes.

The gotchas that corrupt bibliographies

Every method above ends with you pasting an entry into a .bib file. Before you trust it:

  1. Brace-protect capitalization: title={The {CRISPR} revolution in {C}. elegans} — otherwise many styles lowercase it.
  2. Check the entry type: converters emit @article for almost everything; datasets should usually be @misc or biblatex's @dataset, preprints @misc with an eprint field.
  3. En-dash page ranges: 583--589, not 583-589 (Crossref output often already has the en-dash character — either is fine, mixed is ugly).
  4. Unicode vs escaped accents: pick one convention for your toolchain (biber handles UTF-8; classic BibTeX often doesn't) and normalize.
  5. Verify the year against the PDF for anything that existed as a preprint — this is the single most common real citation error.
  6. Duplicate keys: two converters can give the same paper different keys (Jumper_2021 vs jumper2021highly). Pick a key style and rename on paste, or let Better BibTeX enforce one.

FAQ

Is there an official DOI-to-BibTeX service? The content negotiation on doi.org (method 2) is as official as it gets — it's operated by the DOI registration agencies themselves. doi2bib is a community front-end to it.

A DOI returns nothing / an error. Test it at https://doi.org/<doi> first. If the landing page resolves but content negotiation fails, the publisher deposited minimal metadata — fall back on the publisher's own export button.

arXiv papers? New arXiv papers get DataCite DOIs (10.48550/arXiv.xxxx.xxxxx), so method 2 works. But if the paper was later published in a journal, cite the journal version's DOI instead — Scholar in particular loves handing you the arXiv version of published papers.

What about web pages without a DOI? Different problem, same energy — see our guide to citing websites in BibTeX, which covers @misc/@online templates and the no-author/no-date edge cases.