Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there any software (or pseudo-code) which can automatically scan a piece of text (either pasted into the tool, or read from a .doc/.pdf) and identify citation data using standard formats? The data would then be split up into its constituent fields and exported in XML, CSV, or some other structured data format. I have looked at cb2Bib but it was only able to extract the year from Harvard-style references, which is insufficient.

share|improve this question
Do you want to scan the text itself or just the references section? – innaM Aug 18 '09 at 9:09
Just the references - it'd likely be a document containing personal publications. – Alistair Knock Aug 19 '09 at 9:07

Take a look at this list of Citation Parsers that can generate XML from input text: (in maintenance mode as of Aug 1, 2012)

With freecite you could use a curl command to submit citations as follows (in PHP):

$cmd = "curl -H 'Accept: text/xml' -d \"" . $myinput . "\"";
$xmloutput = exec( $cmd );
share|improve this answer

Try a tool such as Regex Buddy or Expresso.

If you're not a programmer Regular Expressions may be a bit intimidating, but they're really not that hard, especially with a decent tool like one of the above.

Here's an example of someone using Regular Expressions for extracting citations:

Citation parsing regular expression

share|improve this answer

Mendeley should be able to do this. It can import PDFs and then export the metadata to BibTeX, RIS and EndNote XML. It is free to download and is cross-platform.

Edit: I tested this on a few documents. The PDF import does seem to work well for references that are formatted correctly. For a document I created using LaTeX, all of the references with the author in the form "Smith, J." or "J. Smith", etc., were imported fine. If the author is a company (a single word), or the reference is incomplete, it does not work as well. The extracted references can easily be edited and exported to BibTeX, etc.

share|improve this answer
"This feature was removed in Mendeley 0.9.7 because it was consuming a fair amount of resources (client and server side) without providing enough value. We plan to re-introduce it in an improved form in future." ......… – iceman Aug 16 '10 at 9:50

I've seen a Westlaw program do that for legal citations, but that's probably not what you're looking for. Reference Manager might do something like that for academic formats, but I've never used it.

share|improve this answer


This one is capable of automatic parsing your reference text and offers a link to an on-line article.

share|improve this answer

Zotero is a plugin for firefox which does this for web content. Not sure if there is a similar tool for documents/pdfs

share|improve this answer
I know that this isn't exactly what Zotero is designed to do, but if you pointed Firefox to a text file or html file with the relevant data, Zotero might recognize the references and then you could add it to the Zotero library and export the whole library into whatever format you like (I know Zotero supports a bunch of formats). This would be painful for a large number of files though. – nedned Sep 1 '09 at 14:11
I don't see how Zotero does what the OP asks. I've installed it, but there seems to be no option to parse a reference. – Rikki Mar 6 '15 at 13:03
Zotero parses citations from specially-coded websites, not from regular text. – Ochado Apr 26 at 13:06

This probably belongs more as a comment to @Abhinav, but zotero definitely only handles structured data, as you would find described here:

An interesting hack might be to try to write a program that uses each citation as a search query in your favorite database, then uses something like zotero to generate the ref information. You could also download structured information from services like citeUlike. Let me know if you end up doings something like that! (put it up on github if you do ;).

share|improve this answer

You must log in to answer this question.

protected by Community Apr 26 at 13:21

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged .