I am using natbib and the plainnat style for the references. I would like to know how can I remove the ISSN, DOI and URL from the references without deleting them in the .bib file. I have seen some solutions in other posts but using biblatex; is there any solution for using natbib?

This is the code I am using:

    This article...
    According to \citet{John2003} ...

bibl contains an entry with the keycode John2003


I would not recommend modifying the *.bib file. You may need these fields one day (some journals ask to put DOI/ISSN, and URLs can be useful for your own reference). Instead, you should change the style file that regulates how bibliography is displayed.

Locate plainnat.bst file on your computer. Copy it to the directory with your *.tex files, rename it to something like plainnatnourl.bst and modify it such that it does not print URLs. You can then use


Modification should be rather simple. In case of abbrvnat.bst the only thing I had to do was to change

FUNCTION {format.url}
{ url empty$
    { "" }


FUNCTION {format.url}
{ url empty$
    { "" }
    { "" }

plainnat.bst should be similar.


Don't delete, just rename the key, i.e. ISSN -> OPTISSN. Then the data is still there but is ignored by bibtex as it does not know OPTISSN

  • And how can I rename the key? – Urko Jul 23 '13 at 12:07
  • 1
    How do you normally edit your .bib file? – daleif Jul 23 '13 at 12:41
  • 1
    Thank you for your answer. It works, but it is quite a tedious work, at least in my case because I have several .bib files. I will use this solution in a precise moment, but I would like to know if there is any other solution to my problem. – Urko Jul 23 '13 at 14:01
  • 1
    Brilliantly simple solution! – CMichael Sep 7 '14 at 9:57
  • 8
    It's a useless hack and barley generalizable. Nowadays most .bib files in use are generated automatically (JabRef, Mendeley, etc.) – MERose Jun 30 '16 at 8:49

It's easy to create your own bst-file using the custom-bib package. You run

latex makebst

This will start a series of question to which you respond y (yes) or n (no), and at the end it will create a bst-file for you. The questions include if DOI/URL fields should be included in bibliography.


You can remove fields if you use biblatex, use this in your preamble (remove \usepackage[square,sort&compress,comma,numbers]{natbib})

  \clearfield{issn} % Remove issn
  \clearfield{doi} % Remove doi

  \ifentrytype{online}{}{% Remove url except for @online
  • maybe you should add that you need to use biber not bibtex for this to work... – JHBonarius Mar 10 '18 at 19:40
  • for me it works with biblatex – Rainer Glüge Feb 28 '19 at 12:29

You can directly add the options to the usepackage directive:

\usepackage[backend=biber, style=numeric-comp, isbn=false, issn=false, doi=false]{biblatex}

I'd liked to post this as a comment. To improve the makeshift of doing search and replace, you can use a tool, such as textcrawler, to rename entries in several files/directories. It's also possible to filter the files to be searched, e. g. by ending *.bib


I agree with varepsilon that you can edit the .bst file. However I would not edit the FUNCTION {format.url}... because this will mean that the URL will never be displayed...So also not for online resources, where you actually want it!

Instead, I would look for the source-specific style functions, e.g. FUNCTION {article}. There just remove the lines with format.isbn output, format.doi output, and format.url output. Do this for every style you don't want to see the ISBN/DOI/URL.

Of course don't do this for FUNCTION {misc}, which is used for online resources and such...

Also, remember that journal don't like you tinkering with their reference style (even if there are errors in it). You'll have to manage with the style they give you...


According to this discussion, one can easily open the *.bib file using JabRef, then select Quality > Set/clear/append/rename fields.

Then, any field can be chosen for a specific entry or all entries to edit/rename/clear.

enter image description here

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.