This lesson is still being designed and assembled (Pre-Alpha version)

Library Carpentry: MarcEdit: Introduction to MarcEdit Owen Stephens' Original Materials

Introduction to MarcEdit

This Introduction to MarcEdit is based on materials developed by Owen Stephens ( in November 2015.

This work is licensed under a Creative Commons Attribution 4.0 International License

It is suggested when crediting this work, you include the phrase “Developed by Owen Stephens”

The exercises in this document were designed for and have been tested with MarcEdit 6.2 on Windows. Most of the exercises will also work on other versions and platforms, but they have not been tested.

1. Getting Started

What is MarcEdit

MarcEdit is a piece of software for editing MARC records developed by Terry Reese (now at Ohio State University, although the original development was done during a project at Oregon State University). MarcEdit can be used to make small, single, edits to individual MARC records, but is particularly aimed at making edits across many MARC records at a single time.

Downloading MarcEdit

MarcEdit can be downloaded from

MarcEdit was originally written for Windows but there are now versions available for Windows, Mac and Linux.

All screenshots in this document are taken from the Windows version and may be a little different from the Linux or Mac versions, although it should be possible to complete all the exercises in this document no matter which version you are using.

Going Further

Use the settings (cog) icon on the opening screen to modify the shortcuts that appear on the screen, so the functions you use most often are the ones that are displayed when you open MarcEdit each time.

The MarcEdit interface

MarcEdit Main menu/navigation

The MarcEdit interface is a little different to standard Windows or Mac software. On starting the software, the first screen shows a set of icons for different tools within MarcEdit. This screen can be customised so that you can access the tools you use most from this starting screen.

Most tools within MarcEdit can be accessed from more than one place within the MarcEdit interface. For example from this starting screen the ‘MARCValidator’ function can be accessed:

This can make the interface a little confusing when you first start using MarcEdit!

Getting Help

The MarcEdit application contains extensive help information within the application, as well as providing links to online resources. In addition the Help page at provides links to the MarcEdit email list and further online support materials including a set of video tutorials by Terry Reese.

Terry Reese is incredibly helpful and is on Twitter (@reese_terry) and provides his email address for questions from

2. MarcEdit basics

All exercises in this document use a file of MARC records called ‘me-eg-records.mrc’ which can be downloaded from:

These records are derived from a set of MARC records made available by the University of Michigan Library under a CC0 licence.

Exercise 1: Opening MARC records in the MarcEditor

If you want to view and/or directly edit MARC records in MarcEdit, you do this using the MarcEditor. This can be accessed directly from the (default) start screen, or from the File menu. Empty MarcEditor screen

Click the MarcEditor option, and the MarcEditor will open with an empty screen:

To edit a record, you need to open a file which contains one or more MARC records. This can be done (as you might expect) using the usual File menu, Open option, or by clicking the appropriate icon in the MarcEditor toolbar (second from the left).

The MarcEditor recognises files of the following types:

File type File extension
MARC file mrc
MARC Text File mrk
MARC UTF-8 Text File mrk8
MARCXML file xml
MODS file xml
Text files txt

In order to work with these different file types correctly MarcEdit expects them to use the file extension as specified in this table. You may sometimes find that you need to rename files to use the correct extension before they will work as expected in MarcEdit. For example, when you download MARC records from a library catalogue or OCLC, you may find they use a different file extension (e.g. txt, dat) rather than ‘mrc’ even though they are MARC files. In these cases you will need to rename the file to use the ‘mrc’ file extension so that MarcEdit recognises them correctly.

To open a file of MARC records in the MarcEditor:

You should now see the MARC records from the file displaying in the MarcEditor

MarcEditor screen with file open

The MarcEditor displays the records in what is called the ‘MARC Text File’ format (file extension *.mrk). Each line in the file represents a field in a MARC record:

=245  14$aThe Lord of the Rings /$c J.R.R. Tolkien.

This breaks down as follows:

= Each line/field starts with the '=' sign
245 The '=' is followed immediately by the three character MARC field code
[two spaces] The MARC field is always followed by two spaces
14 The field indicators follow the spaces - if the field has indicators. For the control or fixed fields, the field content starts directly after the spaces
$aThe Lord of the Rings /$c J.R.R. Tolkien. The field content contains the subfields (indicated using the '$' symbol) and the text. Because the subfields use the '$' symbol, any real occurrences of the dollar symbol (e.g. for currency) is shown as "[dollar]" instead.

Records in the MarcEditor display are separated by a blank line.

The MarcEditor divides a file of MARC records into ‘pages’ of 100 records. You can scroll up and down the page of MARC records using the scroll bar as usual, but to see the next 100 records you need to use the Next/Previous page controls which are at the bottom left of the screen. The MarcEditor can cope with very large files of MARC records, because it never tries to load all the records at the same time.

You can adjust the number of records displayed per ‘page’ through the MarcEditor preferences which can be accessed through the Tools->Preferences menu option from the MarcEditor, or through the ‘Settings’ icon on the opening screen of MarcEdit.

Exercise 2: Editing and saving MARC records in the MarcEditor

To make a simple edit to a MARC record you can simply click into the MarcEditor at the point where you want to edit and start typing.

If you’ve completed Exercise 1, you should have the MarcEditor open, with a file of MARC records.

You can now save the file by:

You have now saved the edited file as a MARC Text file. You can work on this file further in the MarcEdit, but usually to be able to use with other software (e.g. loading the records into your library management system or equivalent) you will need to create a MARC file (*.mrc). See Exercise 8 for more information on doing this.

You can carry out more extensive editing using this approach - adding or deleting text, subfields, whole fields or even complete records. However, when you have changes to make to many records, there are more effective approaches that can be used.

Exercise 3: Using Find and Replace to edit multiple records

When there is an issue that is repeated over many issues or fields, you can use the Find/Replace function to make a similar change across many lines in the MarcEditor. When used in the simplest way, this works very much like find/replace in software such as Microsoft Word.

You may have noted in Exercise 2 that the issue with using the wrong spelling of ‘Catalogues’ in the $v (form subdivision) is repeated across several fields in the first record. Using Find and Replace we can find out how many records are affected and correct them all at once.

To simply find all the similar issues in the file:

This might help if you only had a few issues to correct, but in this case there are more than we want to correct one-by-one. In this case the ‘Replace’ option can be used:

If you now repeat the ‘Find’ option as above, you should see that there are no occurrences of ‘$vCatalogues’ in the file.

Exercise 4: Remove unwanted local fields

When you obtain records from an external source, you may wish to remove any local fields from the records.

Use the Field Count report to find what fields are present in the records

To find what fields are present (and how many times they appear) in the file you can use the Field Count report.

Scrolling down the report you can see (for example) that the 090 field (local call number) appears 235 times (in 234 records):

Field Count report

Remove the 090 using Add/Delete Field

To remove the 090 fields from all records, use the Add/Delete Field function:


Exercise 5: Create a MARC file

When you have completed your edits to a file of MARC records, you will usually want to convert it back into a MARC File. There are at least three ways of doing this in MarcEdit:

  1. In the MarcEditor, with the file open, choose File->Save As, and choose ‘MARC Files (*.mrc) in the ‘Save as type’ prompt in the save file dialogue
  2. In the MarcEditor, with the file open, choose File->Compile File into MARC. You will be prompted for a file name and location
  3. Save the file in the MarcEditor as a “MARC Text File (*.mrk)” and then close the editor. In the MarcEdit windows, choose ‘MARC Tools’ and use the ‘MarcMaker’ function to convert the ‘mrk’ file to an ‘mrc’ file

Going Further

Using MARC Tools in MarcEdit

The MARC Tools support converting one metadata format into another. Most of the options are based around some version of MARC, but there are also options for Dublin Core, MODS and EAD.

To use the tool you specify in Input File (which contains the data in the starting format) and an Outputfile (which will be created when you run the tool). You then choose the ‘Function’ from the list provided. For example MARC21 => MARC21XML to convert MARC records into MARCXML records.

Most of the options are named in a straightforward way indicating the source and destination formats. However, there are two more obscure functions:

MarcBreaker - converts a MARC file (.mrc) into MarcEdit’s MARC Text File (.mrk) format

MarcMaker - converts a MarcEdit MARC Text File (.mrk) into MARC file (.mrc) format

A common workflow described in MarcEdit tutorials is to get a MARC file from a source (e.g. a library management systems), use MarcBreaker at the start of the editing process to create a MARC Text File, edit the file using the MarcEditor, saving as you go along, and then at the end of the process convert the file back to MARC format using the MarcMaker.

Exercise 6: Find and correct records with incorrect non-filing indicators

You can use the Find options in the MarcEditor to identify problems with MARC records. In this exercise you will use the Find option to find records which may have an incorrect non-filing indicator in the 245 field.

Find All results

Exercise 7: Find and correct records which have a 245 that doesn’t finish with a full stop

In this exercise you will use the Replace option to insert a full-stop at the end of any 245 fields that are missing that punctuation. This demonstrates the use of a regular expression ‘capture group’ in a MarcEdit Find/Replace operation

You should be told that 11 modifications have been made.

Exercise 8: Create MARC records from an Excel Spreadsheet

MarcEdit can create MARC records from a file of tabular data - such as a CSV, TSV (comma/tab separated values) file or an Excel spreadsheet. In this exercise you will create a simple set of MARC records from an Excel spreadsheet which lists the items in an ebook package.

The first part of the process is to specify what file you want to use as the starting point for your MARC records, and to set some basic options for the import:

At this point MarcEdit should be able to find the data you want to use to create the MARC records. The next step in the process is to specify how data in the original file should be mapped to MARC fields. This is done by adding ‘Arguments’ - one for each field mapping.

On the screen you should see a summary (the ‘Data Snapshot’) of the file you are importing with each column labelled ‘Field 0’, ‘Field 1’, ‘Field 2’ etc. Underneath this summary is a ‘Settings’ section. This is where you instruct MarcEdit which MARC fields to use for each piece of information in the spreadsheet. This is done on a column-by-column basis, so you’ll need to choose a single mapping for each column. Where a single column contains information which needs mapping to different MARC fields, this can be resolved in the MarcEditor later - for now just pick the best mapping you can do.

To do a mapping:

Given the data in the file you will want to map the field as follows:

Do not set any indicators (other than the default ‘\’ which is already filled in for you) and do not set any Terminal Punctuation.

To do this in the form you need to add the mappings one by one. First:

Repeat this for Field1 (map to ‘020$a’) and Field2 (map to ‘856$u’)

Check the option to “Ignore Header Row” to make sure the first row in the file, which contains the column headers in our case, isn’t used to create a MARC record.

Once you have done this, click the “Finish” button. This will create the file of MARC records (using the name/location specified in the ‘Output File’ option you set on the earlier screen).

Open the file in the MarcEditor. You should find you have a file of skeleton MARC records based on the information in the Excel spreadsheet. Because the first line of the Excel spreadsheet consisted of column headings, the first record will have been created using the column headings rather than real data. Simply delete the first record in the file to correct this issue.

Exercise 9: Move ISSNs from 020 to 022

To do this exercise you first need to successfully complete Exercise 8 and open the the newly created file of basic MARC records.

While the majority of rows in the Excel spreadsheet used in Exercise 8 described books, with a ISBN in the second column, if you scroll down in the MarcEditor to the last records you can see that the last few records in the file are actually Serials/Journals rather than Books. This means that they have an ISSN instead of an ISBN, and the mapping has left this data in the wrong MARC field (020 instead of 022).

To correct this you can use the ‘Copy Field’ option that is in the MarcEditor Tools menu:

These settings tell the ‘Copy Field’ tool to find 020 fields containing 4 digits, followed by a hyphen, followed by 3 digits and then either an additional digit or an upper or lower case ‘x’ - this should match any valid ISSN. It also tells it to ‘capture’ the ISSN by using the ( ) brackets around the regular expression.

The Destination field setting of ‘$1’ tells it to use the captured ISSN to populate the 022 field.

Finally using the ‘Delete Source Field’ option gets rid of the 020 field containing the ISSN (after successfully copying this the ISSN to a new 022 field in the record).

You should be told that 3 records have been affected.

Exercise 10: Create Task List

A Task List allows you to run a set of repeated processes. In this case we can create a Task List that makes a number of changes to a basic set of MARC records created from a spreadsheet like this (e.g. if we get repeated sets of records in the same format)

Or we can create a Task List that contains just one or two things that we do regularly and don’t want to have to retype each time. In this way a ‘Task List’ may only be a single operation (like the ‘Copy Field’ option in Exercise 9) where you need to do the same operation regularly, but you don’t want to have to type in the settings and regular expression each time. By creating a Task List containing this single Task, you can just run the task without having to type in the detail each time.

Once a Task List has been created it can be used on any file you open in the MarcEditor. You can share Task Lists with others by using the ‘Export Selected Task’ and ‘Import Task’ options that are on the ‘Manage Tasks’ screen. Once you have exported a task you will have a file you can share with others (e.g. by email) which they can utilise by using the ‘Import Task’ option.

In this exercise you are going to create a simple task list which does two things:

  1. Set correct indicators on an 856 field for a web resource accessed using http
  2. Add a standard ‘Link Text’ to 856 fields by adding a $y subfield containing the link text to be used
    • Open the file you created in Exercise 8 in MarcEditor
    • Use the menus to choose Tools->Manage Tasks
    • Click the option to ‘Create New Task List’, and give the task list a name (e.g. 856 Corrections)
    • You will now be returned to the Manage Tasks options. In this screen select the newly created Task List from the Task Lists and click the ‘Edit Selected Task List’ option
    • This is where you can add specific operations (or tasks) to the task list. To do this…
    • Click ‘Add New Task’ icon (looks like +). You will see a list of possible tasks you can choose from. The first task you are going to create is to set indicators on the 856 field so choose ‘Add Edit Indicator Task’
    • You will now be shown a dialogue box almost identical to the options you would normally see if you choose the ‘Tools->Edit Indicator Data’ option from the MarcEdit menu. The only difference is that the background of the screen is slightly pink. This indicates you are in Task creation mode, and instead of running any command you add here, it will just be added to the task list
    • Fill out the form as follows:
    • Field: 856
    • Indicators: \
    • Field Data: LEAVE BLANK
    • Replace with: 41
      • Once you have done this, Click “Replace”. This will close the form and add the task to the task list. N.B. it is important to stress that the Edit Indicator operation hasn’t been executed on your current Marc file - all that has happened is that the task has been added to the task list.

To add the second task - adding the $y subfield to the 856 - stay in the Edit Task List window and do the following:

Now you’ve added these two operations to the task list you can save the list (Click Save) and then close the Task List Manager (Click Close).

You’ve now created a Task list, the remaining thing left to do is run the Task List to carry out the two operations:

If you have tasks you run regularly it is also possible to assign a Task List to a keyboard combination (this is done in the ‘Manage Task Lists’ screen using the ‘Key Assignment’ option) to make it easy to run a set of tasks with a single keystroke (although this option is not available on a Mac).

Exercise 11: Generate Call Numbers

In Exercise 8 you created some very basic MARC records. In Exercises 9 and 10 you made some corrections/enhancements to the records, but they are still very basic. In this exercise you will see how you can use the ‘Generate Call Numbers’ function to add call numbers and subject headings to these MARC records, hopefully making them much more useful when they are loaded into a library catalogue or library discovery tool (despite its name the Generate Call Numbers function does more than just add call numbers).

The Generate Call Numbers function looks up information provided by OCLC, and this process can take a little while. You could use the function on the whole file you created in Exercise 8, but this takes rather a long time, so for the purposes of this exercise it is recommended you copy three records from the file into a new file in the MarcEditor:

You are now ready to run the Generate Call Numbers tool. There are quite a few settings to choose with this tool, but they are mainly very straightforward options: