USEMARCON is a rule-based MARC record manipulation program and library. It is free, open source, written in C++. USEMARCON can be used interactively with USEMARCON GUI (see below), in batch processing using the command line version and it's also possible to integrate the library with other software (this has been done e.g. with YAZ Proxy (link is external)).

USEMARCON has native support for UTF-8. It can also convert MARC-8 to UTF-8 and handle other character set conversions with conversion tables.

USEMARCON can read and write ISO2709 (the MARC exchange format), MARCXML and MarcXchange (input and output formats independently).

The USEMARCON page at the British Library (link is external) contains more information on USEMARCON and the background on the project.


USEMARCON is provided under a fairly liberal license. Please see the LICENSE file in the distribution for details.


USEMARCON Version 3.17, 03 Mar 2011

Windows command line executable (link is external)
User's Manual (link is external)
Source code (link is external) (zip, includes the Windows command line executable)
Source code (link is external) (tar.gz)

Source code (link is external) (Git-repository)

In this version:
- Fixed less than (<) and greater than (>) operators.
- Fixed less than or equal (<=) and greater than or equal (>=)
- Fixed MARC-8 conversion from EACC set to UTF-8.
- Optimized MARC-8 conversion tables for a slightly smaller size.

Example rules

A very simple conversion (link is external) that gets rid of 9xx fields and copies everything else as is.

A complete set of rules used to convert Finnish academic libraries from MARC21-Fin to MARC 21 is available in a self-extracting package (link is external). These rules take advantage of many of the recently added features of USEMARCON.


USEMARCON GUI is a simple user interface for USEMARCON. It allows browsing of records (original and converted alongside) and editing of USEMARCON rules.

USEMARCON GUI is also suitable for standalone browsing of MARC files. Features include:
- "Syntax" highlighting for easy readability
- A simple search capability
- Exporting of selected records in different formats
- Printing of records

There is no documentation for USEMARCON GUI, but it is hopefully quite straightforward to use. To start with a conversion, only the four fields on the top of the window need to be filled. Input File is the file of records to be converted. USEMARCON Conversion is the ini file of the conversion package to be used. USEMARCON Program is the location of the actual USEMARCON program (download from the link above). Output File is the destination for converted records. Note that USEMARCON will overwrite any existing output file without warning.

USEMARCON GUI is developed with Lazarus (link is external). A precompiled Windows binary and source code are available below. The program can be built on at least Linux too. It may be necessary to have at least one printer (e.g. cups-pdf) installed to avoid trouble.


USEMARCON GUI is provided under the GNU General Public License, version 2 (link is external). Please see the link or LICENSE file in the distribution package for more information.


USEMARCON GUI Version 3.15, 18 Jan 2011

Windows executable (link is external) (a single file, no installation needed)
Source code (link is external)

In this version:
- Improved XML support (MARCXML and MarcXchange): entities are now decoded and performance is much better than in previous versions.


  • No labels