Switching from natbib to biblatex is one of the most common LaTeX migrations. It's not hard, but there are several command changes that trip people up. Here's the complete checklist.
Step 1: Replace the package
% REMOVE:
\\usepackage[square,numbers]{natbib}
\\bibliographystyle{plainnat}
% ADD:
\\usepackage[backend=biber, style=numeric]{biblatex}
\\addbibresource{references.bib} % note: .bib extension IS required
Step 2: Replace bibliography command
% REMOVE (at end of document):
\\bibliography{references}
% ADD:
\\printbibliography
Step 3: Update citation commands
| natbib | biblatex | Output |
|---|---|---|
\\cite{key} | \\cite{key} | Same (works in both) |
\\citep{key} | \\parencite{key} | (Author 2024) |
\\citet{key} | \\textcite{key} | Author (2024) |
\\citep*{key} | \\parencite*{key} | Full author list |
\\citeauthor{key} | \\citeauthor{key} | Same |
\\citeyear{key} | \\citeyear{key} | Same |
Step 4: Change your compile command
# Old (natbib): pdflatex → bibtex → pdflatex → pdflatex
# New (biblatex): pdflatex → biber → pdflatex → pdflatex
pdflatex main.tex
biber main # NOT bibtex!
pdflatex main.tex
pdflatex main.tex
Step 5: Compatibility shim (optional)
If you have hundreds of \\citep/\\citet calls and don't want to rename them all:
\\usepackage[backend=biber, style=authoryear, natbib=true]{biblatex}
% natbib=true makes \\citep and \\citet work in biblatex!
Common pitfalls
- Running
bibtexinstead ofbiber— biblatex defaults to Biber - Missing
.bibextension —\\addbibresourcerequires it;\\bibliographydidn't - Forgetting
\\printbibliography— without it, no references appear
Need help managing citations? Bibby AI's citation tools handle both natbib and biblatex automatically. Try free.