Working with MARC

From Code4Lib
Revision as of 01:02, 9 April 2010 by Gmcharlt (Talk | contribs) (MARC Programming Libraries: added commit message feed link)

Jump to: navigation, search

Working with MARC

MARC stands for Machine Readable Cataloging, and many folks in the code4lib community find themselves working with MARC records at some point. This page is meant to be a round-up of the tools for working with MARC. If you want a general introduction to the standard, the wikipedia article is a good place to start.

Desktop tools


Showmarc is a DOS program that will show all the MARC fields used and how many times each is used.

MARC Record Translation Program (MARC RTP) is a command line utility that shows fields and subfields used in a collection of MARC records and then converts, and selectively importes, into databases built with general-purpose applications.

Getting Marc Indexed for Search Engines

MARC in Solr



MARC in Zebra

Getting Started with Zebra


MARC Programming Libraries

Project Language Links Notes
javamarc Java Fork of MARC4J
MARC/Perl Perl Umbrella project; see also CPAN
pymarc Python
File_MARC PHP PEAR package; sanctioned fork of PHP-MARC
PHP-MARC PHP Abandoned(?)
ruby-marc Ruby
enhanced-marc Ruby Convenience methods for ruby-marc
marc21 Scheme
marcerl Erlang svn:// Very alpha code
Scala-MARC Scala
CSharp Marc C#
MARC.NET C# basic start, not thoroughly 'real world' tested
marc_record.js JavaScript Part of MARC Editor Lite

A feed of commit messages and release announcements from many of the projects listed above can be found at

Getting Sample Data

One common question is where to get sample MARC records for testing or playing around with. If you work at a library, chances are good that you can get some records out of your ILS (go ask your systems librarian if you don't know how to do this yourself). If you don't work in a library, you can get MARC bibliographic records from the Internet Archive at

There is a nascent movement within the code4lib community to establish a test set of problematic MARC records, especially records that are representative of the kinds of weirdness that is encountered in real libraries. It is hoped that this could eventually become a test corpus against which to run various MARC processing implementations. For more information, watch Simon Spero's excellent talk from Code4LibCon 2010.

MARC records for authority data are more common. The Getty Vocabularies makes both the The Art & Architecture Thesaurus (AAT) and The Union List of Artist Names (ULAN) freely available. The Guidelines On Subject Access To Individual Works Of Fiction, Drama, Etc. records are available from Northwestern University. The Medical Subject Headings (MeSH) are available in many formats, one of them being MARC.