How to Cite a Website in LaTeX (BibTeX @misc)

Aug 6, 2026 7 min read
Author avatar
500+ papers & thesis formatted in LaTeX for IEEE, Elsevier, Springer, ACM & more
Illustration explaining how to cite a website in LaTeX, showing that some BibTeX styles do not print the URL field.

To cite a website in LaTeX depends on which bibliography system your document uses, and that is why the advice you find is contradictory. With biblatex you use the @online entry type, which has proper url and urldate fields. With classic BibTeX you use @misc, and then you hit the real problem: several common .bst styles silently throw the url field away. This covers both, the fields that actually get printed, and what to do when the URL does not show up.

The two ways to cite a website in LaTeX

Work out which system your document uses before you write the entry. If the preamble has \usepackage{biblatex} and \addbibresource, you are on biblatex. If it has \bibliographystyle{...} and \bibliography{refs}, it is classic BibTeX. If you are not sure which you should be on, we go through the trade-offs in BibTeX vs biblatex vs biber.

  • biblatex: use @online. Put the address in url and the access date in urldate. Both are real fields and the style formats them for you.
  • Classic BibTeX: use @misc. Whether url prints at all depends on your .bst file, so the safe route is howpublished.

How to cite a website in LaTeX with biblatex and @online

@online is the entry type for a source that only exists online. The CTAN biblatex cheat sheet describes it as an “inherently online source”, and lists urldate as the access date for url, written as yyyy-mm-dd.

@online{who2026guidelines,
  author  = {{World Health Organization}},
  title   = {Guidelines on Physical Activity},
  year    = {2026},
  url     = {https://www.who.int/publications/example},
  urldate = {2026-07-20},
}

Cite it the normal way, with \cite{who2026guidelines} or \parencite{who2026guidelines}. Two things to get right:

  • The date format is strict. urldate must be yyyy-mm-dd. Write 2026/07/20 or 20 July 2026 and biblatex will not parse it as a date, so it will not format properly. How it prints is a style option: urldate=short, long, terse, comp, or iso8601, set in the biblatex package options.
  • Double braces around an organization name. author = {{World Health Organization}} stops biber treating “Organization” as a surname. Single braces give you “G. Health Organization” or similar. This is the most common mangled web citation we see.

@electronic and @www are aliases of @online. They produce identical output, so use @online.

How to cite a website in BibTeX with the @misc entry

Classic BibTeX has no entry type for a web page. @misc is the one everyone uses. The safe version:

@misc{who2026guidelines,
  author       = {{World Health Organization}},
  title        = {Guidelines on Physical Activity},
  year         = {2026},
  howpublished = {\url{https://www.who.int/publications/example}},
  note         = {Accessed: 2026-07-20},
}

Note what is not there: no url field and no urldate field. Classic BibTeX has neither as a standard field. The address goes in howpublished wrapped in \url{}, and the access date goes in note as free text you format yourself. Load \usepackage{url} or \usepackage{hyperref} in the preamble or \url{} will not be defined.

Your URL disappears because plain.bst ignores the url field

This is the most common complaint about citing websites in BibTeX, and it is not a mistake in your entry. The standard styles predate the web. plain.bst, unsrt.bst, abbrv.bst and alpha.bst do not know what a url field is, so if you put one there, BibTeX reads it and prints nothing. No error, no warning, just a reference with no link. The TeX FAQ is blunt about it: there is no citation type for URLs in the standard BibTeX styles.

You have three ways out.

  • Use howpublished instead. Works with every style, because howpublished is a standard @misc field. This is the reason the entry above is written that way.
  • Switch to a url-aware style. The natbib styles plainnat, unsrtnat and abbrvnat support a real url field, as do the harvard styles. Add \usepackage{natbib} and change \bibliographystyle{plain} to \bibliographystyle{plainnat}.
  • Patch your style with urlbst. urlbst (version 0.9.1, January 2023) is a Perl script that rewrites an existing .bst file to add a webpage entry type plus url, lastchecked, eprint and DOI fields. Worth it when a journal forces a specific style that lacks URL support and you cannot switch.

A related detail: BibTeX can break a long URL across lines and insert a % in the middle. Loading the url or hyperref package handles that, which is another reason to load one of them.

Generate BibTeX from DOI, ISBN, arXiv, PubMed ID, etc online

Paste a DOI, ISBN, arXiv ID or PubMed ID and get a complete entry for your .bib file. Works with classic BibTeX and biblatex. Free, no sign-up.

Open the BibTeX generator →

What the misc BibTeX entry type is actually for

@misc gets used for web pages because there is nothing better in classic BibTeX, but that is a workaround, not its purpose. @misc is the catch-all for anything that fits no other type, and it has no required fields at all. Every field is optional, which is also why BibTeX will happily produce a near-empty reference from a sloppy @misc entry without complaining.

In practice the things people put in @misc are websites, software, datasets, preprints, standards and unpublished notes. If you are on biblatex, most of those have a better home:

What you are citingClassic BibTeXbiblatex
Web page@misc + howpublished@online
Software or a code repository@misc@software
Dataset@misc@dataset
Preprint (arXiv and similar)@misc or @unpublished@online with eprint, or @article once published
Technical report, white paper, standard@techreport@report

The biblatex cheat sheet calls @misc the “last resort”, which is fair. Reaching for a specific type gets you better-formatted output with no extra work, because the style already knows what a dataset or a web page should look like.

Which citation styles want an access date, and when

The habit of putting “Accessed: date” on every web citation is not what most style guides ask for.

  • APA 7 wants a retrieval date only when the content is designed to change over time and the page is not archived. A wiki page, a live statistics dashboard, a page with a version history: yes. A dated news article or a stable PDF: no.
  • MLA 9 treats the access date as optional. It is recommended for pages that change often or that carry no publication date.
  • IEEE does want the access date on online sources, and prints the URL after “[Online]. Available:”.

So put a real publication date in year or date whenever the page has one, and add the access date when the style calls for it or the page has no date of its own. Something else worth doing regardless: if a page matters to your argument and looks like it might vanish, archive it first (the Wayback Machine or Perma.cc) and cite the archived copy. Link rot in reference lists is a slow, quiet problem, and it is much easier to fix before submission than after.

Citing a website in IEEE style with IEEEtran

IEEE is worth its own note because IEEEtran.bst behaves differently from both routes above. It does declare a real url field, so this works:

@misc{ieeeexample,
  author = {{IEEE Standards Association}},
  title  = {Example Standard Overview},
  year   = {2026},
  url    = {https://standards.ieee.org/example},
  note   = {Accessed: Jul. 20, 2026},
}

But IEEEtran.bst declares no urldate or lastchecked field, so there is nowhere structured to put the access date. It goes in note, formatted by hand. The style prints the URL with its default “[Online]. Available:” prefix, which is what IEEE wants, so do not add that text yourself.

Websites with no author and no date

Most web pages are missing something. What to do with each gap:

  • No personal author. Use the organization, in double braces: author = {{Stack Exchange Inc.}}. Do not leave the field out and hope the title floats up, because how that renders is style-dependent and often ugly.
  • No date at all. Leave year out. biblatex prints “n.d.” in styles that expect a date. This is exactly the case where an access date earns its place.
  • No obvious title. Use the page heading, not the browser tab text. And protect capitalization you need to keep with braces: title = {The {NASA} Open Data Portal}, otherwise styles that lowercase titles will turn it into “nasa”.
  • A page that is really a PDF report. Cite it as @report (biblatex) or @techreport (BibTeX) with a url, not as a web page.

Building the entry without typing it by hand

Hand-writing a @misc or @online entry is fine for one web page. It stops being fine at thirty, and typos in a citation key or a stray unbraced author name are exactly the kind of thing that produces a broken reference you do not notice until the proofs.

If the page has a DOI, an ISBN, an arXiv ID or a PubMed ID (many reports, datasets and preprints do), resolve it instead of transcribing it. Our free BibTeX generator takes an identifier and returns a complete entry with the fields filled in, which you then paste into your .bib file and adjust. For a plain web page with no identifier, you still have to write it yourself, but the entry above is a template you can copy.

If the citation or the URL still does not appear

Two different failures that look similar:

  • The whole citation prints as [?] and the reference list is empty. The bibliography processor has not run. Recompile the full sequence; on Overleaf just hit Recompile again. If that does not do it, work through why BibTeX is not showing your bibliography. The full compile order is in our guide to citing in LaTeX.
  • The citation appears but the URL does not. That is the style, not the compile. You put the address in url and your .bst ignores it. Move it to howpublished, or switch style, as above.

One more that catches people on biblatex: some styles hide URLs for entry types they consider print sources, and there are url=false-style options that switch URL printing off globally. If a URL prints for your @online entries but not your @article entries, that is by design in the style, not a broken entry.

Author avatar
Co-Founder, TheLatexLab

Saurabh runs TheLatexLab, a professional Word to LaTeX and PDF to LaTeX conversion service for researchers and PhD students.

He and his team have converted 500+ research papers, theses, and conference submissions to clean, submission-ready LaTeX for IEEE, Elsevier, Springer, ACM, and 60+ other journal templates. Every file is compilation-tested in Overleaf before delivery.

You Have a Word or PDF File. We'll Convert it to Submission-Ready LaTeX.

We convert Word documents and PDFs into clean, submission-ready LaTeX for IEEE, Springer, Elsevier, ACM, arXiv, and more. Equations, tables, citations, and journal templates included. Compiled and tested in Overleaf before delivery.

Reviewed by a real LaTeX specialist.