Built by TheLaTeXLab

Academic Citations and Bibliography WordPress Plugin

Paste a DOI, PubMed ID, ISBN, or arXiv ID and get a clean citation and a formatted bibliography. No account needed. Works in both Block and Classic Editor. Free.

In-text citations link to an automatically formatted bibliography created using Academic Citation and Bibliography WordPress Plugin

Why this plugin

Paste an identifier, get a verified citation

DOI (CrossRef), PubMed ID (PMID), PMC ID, ISBN, arXiv ID, or a URL from a known source. The record is verified against the source, never guessed; if it cannot be verified you get a clear message, not a wrong citation.

A formatted bibliography in eight styles

APA 7, MLA 9, Chicago (author-date), Harvard, IEEE, Vancouver, Nature, AMA. Set a site default, override per post.

Block editor and Classic Editor, both

One Insert Citation tool, same popup, either editor.

No sign-up needed, no lock-in

Nothing to sign up for. In-text citations are stored as plain readable text, so deactivating the plugin never breaks your posts. This is the lock-in problem that pushed people off the abandoned Academic Blogger's Toolkit.

Bring your library

Import BibTeX, RIS, EndNote, and PubMed files. Export anything back out.

Free, actively maintained, no premium upsell

Completely free, kept up to date, with no premium tier waiting behind a feature you actually need.

Who it is for

  • Academic and research bloggers who cite sources in posts.
  • PhD students and postdocs writing in public.
  • Research labs and university sites publishing articles and reading lists.
  • Anyone leaving Academic Blogger's Toolkit who wants a maintained replacement.

Support

  • Documentation: this page, top to bottom.
  • Support forum: the plugin's support forum.
  • Maker: TheLaTeXLab, the team behind the free DOI to BibTeX tool.

Documentation

Everything you need to use Academic Citations & Bibliography.

1. Requirements and installation

  • WordPress 6.0 or newer.
  • PHP 7.4 or newer.
  • No account, no API key.

Install:

  1. In WordPress admin, go to Plugins, Add New, search for "Academic Citations & Bibliography", install, and activate.
  2. On activation you land on a short welcome screen with the three-step quick start.
  3. Open References, Settings to pick your default citation style.

(You can also upload the .zip from Plugins, Add New, Upload Plugin.)

The three-step welcome screen shown right after activation
After activation you get a three-step quick start: add references, cite in a post, publish.

2. How the plugin works

There are two parts:

  • A Reference Library (the References menu). Your reusable list of sources, shared across the whole site. Build it once.
  • In-text citations you place inside posts and pages. Each links to its entry, and a formatted bibliography is generated for the post.

Resolving an identifier happens once and is cached; rendering the bibliography for your readers happens on your own server, so published pages do not depend on any external service at view time.

3. Step 1: Build your reference library

Three ways to add references, all under the References menu.

A. Paste an identifier (Add New)

Paste any of these and the full record is fetched and verified:

  • DOI, for journal articles (for example 10.1038/nature14539)
  • PubMed ID (PMID) and PMC ID
  • ISBN-10 or ISBN-13, for books
  • arXiv ID, for preprints
  • A URL from doi.org, arxiv.org, PubMed, or a publisher page that contains one of the above. The identifier is extracted and verified; pages with no identifier are declined rather than guessed.

B. Import a file (Import)

Upload BibTeX (.bib), RIS (.ris), EndNote (.enw), or PubMed (.nbib). Entries whose DOI is already in your library are skipped.

C. Add manually

In the Insert Citation popup (next step), the "Add manually" tab lets you type a reference by hand when there is no identifier.

The Add Reference screen, where you paste a DOI, PubMed ID, ISBN, arXiv ID, or URL
Add New: paste an identifier and the verified record is fetched for you.
The References admin list with saved references, their identifiers and sources
Your reference library: searchable, taggable, with per-row export.

4. Step 2: Insert citations while you write

Both editors open the same popup, which has three tabs: Paste identifier, Search my references, and Add manually.

The Insert Citation popup with Paste identifier, Search my references, and Add manually tabs
The same Insert Citation popup is used by both editors.

Block editor (Gutenberg)

  1. Click inside a paragraph and place the cursor where the citation should go. The formatting toolbar appears only while you are editing text.
  2. In the formatting toolbar, click the down-arrow "More" button (the chevron next to Bold, Italic, and Link).
  3. Choose "Insert Citation" (the book icon).
  4. Paste an identifier, or switch to "Search my references", then click Insert.

The first time you open the block editor, a one-time tip points you to this menu.

The block editor formatting toolbar More menu open, with Insert Citation listed
Block editor: Insert Citation lives in the formatting toolbar's down-arrow "More" menu.

Classic Editor

  1. Place the cursor where the citation should go.
  2. Click the "Insert Citation" button in the toolbar.
  3. Paste an identifier or search your library, then Insert.
The Classic editor toolbar with the Insert Citation button
Classic editor: a visible Insert Citation button in the toolbar.

In both cases the in-text mark is inserted at the cursor. Its appearance (numbered or author-date) follows the citation style you choose.

5. Step 3: Place the bibliography

You have three options:

  • Automatic (default). A bibliography is appended at the end of the post.
  • Bibliography block (block editor). Add the "Bibliography" block where you want the list to appear.
  • Shortcode (any editor). Put [scholar_bibliography] where the list should render.

The reference list is numbered or author-date sorted to match the style, and each in-text mark links to its entry (see the example at the top of this page).

6. Choosing a citation style

  • Site default: References, Settings, "Default citation style".
  • Per post: the "Citation Style" box in the editor sidebar (block editor) or below the editor (Classic) overrides the default for that post.
  • Supported: APA 7, MLA 9, Chicago (author-date), Harvard, IEEE, Vancouver, Nature, AMA.
  • The style decides whether in-text marks are numbered (IEEE, Vancouver, Nature, AMA) or author-date (APA, MLA, Chicago, Harvard). You can also force superscript in-text marks in Settings.

7. Importing an existing library

References, Import. Supported files:

  • BibTeX (.bib)
  • RIS (.ris)
  • EndNote (.enw)
  • PubMed (.nbib)

Entries with a DOI already in your library are skipped, so re-importing is safe. Very large files are processed up to a sane cap; split a huge export into parts if needed.

8. Exporting references

  • Per reference: each row in the References list has Export actions for BibTeX, RIS, formatted Citation, and CSL-JSON.
  • Whole library: the References screen has "Export all (BibTeX)" and "Export all (RIS)".

Use this to move your library between sites or into a reference manager.

9. Publications list (for researcher and lab sites)

Render your references as a sortable, filterable list, ideal for a CV or a lab output page.

  • Block: add the "Publications List" block and set filters in the block sidebar.
  • Shortcode: [scholar_publications] with optional attributes:
AttributeWhat it controls
styleA specific citation style for the list (default: your site default)
tagShow only references with this tag
typeShow only a CSL type (for example article-journal, book, chapter)
yearShow only a given year
orderbydate or title (default date)
orderASC or DESC (default DESC)

Example: [scholar_publications type="article-journal" order="DESC"]

10. Settings reference

The plugin settings page with style, list, in-text, and display options
References, Settings: defaults and display options.

References, Settings:

Default citation style. The style used when a post has no per-post style.
Bibliography heading and level. The heading text (for example "References") and its level (H2, H3, or H4).
List style. Numbered, bulleted, or no bullets.
In-text citation display. "As the style defines it", or force superscript.
Wrapper CSS classes. Extra classes on the bibliography container for theme styling.
Append a bibliography automatically. On by default; turn off if you always place it with the block or shortcode.
Show per-reference Copy buttons. Adds Copy Citation and Copy BibTeX buttons to each entry. Off by default.
Show the credit line. A small "References rendered by TheLatexLab" line under the bibliography. Off by default; enable it if you would like to support the plugin.
BibTeX dialect. BibLaTeX (UTF-8, recommended) or legacy BibTeX (LaTeX accent macros).
Resolution API base URL. Leave blank to use the default TheLatexLab API, or point it at your own deployment.
Delete all data on uninstall. Off by default, so your references survive a reinstall. Turn on only if you want everything removed when the plugin is deleted.
Backup. Export your settings as JSON, or import a previously saved file.

11. Shortcode reference

  • [scholar_bibliography] marks where the bibliography for the current post should render.
  • [scholar_publications] renders a publications list (see section 9 for attributes).

12. What happens if you deactivate the plugin

Your content stays readable. In-text citations were saved as plain text spans, so they remain as normal text instead of breaking. The auto-generated bibliography is produced by the plugin, so it stops appearing while the plugin is inactive and returns when you reactivate. By default your references and settings are kept, so nothing is lost.

13. Privacy and external services

The plugin uses TheLatexLab's citation API for three things: resolving an identifier or URL, parsing an imported file, and regenerating BibTeX or RIS on edit or export. What is sent:

  • The identifier or URL you look up.
  • The contents of a file you import.
  • The reference data you edit or export to RIS.
  • Your site URL, for diagnostics and abuse prevention.

No personal data, post content, or visitor data is sent, and nothing is sent when a reader views a page: rendering the bibliography happens locally on your server. API endpoint: https://api.thelatexlab.com. See the privacy policy.

14. Troubleshooting

I cannot find Insert Citation in the block editor. Click inside a paragraph first, then open the down-arrow "More" menu in the formatting toolbar. It is not shown until the cursor is in editable text.
The bibliography is not formatted (just plain text). The formatter (citeproc-php) ships with the WordPress org build. If you installed from source, run "composer install" in the plugin folder; the Settings page shows a notice when it is missing.
"Could not reach the lookup service." The resolution API was unreachable. Check your server's outbound connection and try again. Already-saved references still render, because rendering is local.
A reference could not be found. The identifier did not verify against its source. Check it, or add the reference manually.
A change to a reference is not showing on a post. Saved renders are cached and refresh automatically when you edit a reference or change a display setting; reload the post once.

Frequently asked questions

Everything publishers ask before switching from Zotero or Academic Blogger's Toolkit.

Trusted globally by researchers and academics from 40+ countries.

🇧🇷Brazil 🇦🇺Australia 🇺🇸USA 🇩🇪Germany 🇸🇬Singapore 🇧🇷Brazil 🇦🇺Australia 🇺🇸USA 🇩🇪Germany 🇸🇬Singapore
🇨🇳China 🇬🇧UK 🇫🇷France 🇰🇷South Korea 🇨🇦Canada 🇨🇳China 🇬🇧UK 🇫🇷France 🇰🇷South Korea 🇨🇦Canada
🇮🇹Italy 🇳🇱Netherlands 🇮🇳India 🇯🇵Japan 🇸🇪Sweden 🇮🇹Italy 🇳🇱Netherlands 🇮🇳India 🇯🇵Japan 🇸🇪Sweden

Add proper citations to your WordPress site.

Free, no account, works in both the block and Classic editors, with eight citation styles.