Converting SFM Bibles to OSIS

From CrossWire Bible Society
Revision as of 09:33, 8 June 2008 by Osk (talk | contribs)

Jump to: navigation, search


Standard Format Markers (SFM) and its more standardized derivative USFM have been used for decades to store Bibles for printing and display in programs like UBS' Paratext. The format is popular among Bible translation agencies and Bible societies. The basic format of SFM is simply plaintext with backslash(\) codes. For example, a new Bible verse is signaled by \v followed by the number of the verse.

Older texts in various dialects of SFM can still be found. It was common for various agencies, Bible societies, and even regional offices of such groups to have their own SFM standards. Unified Standard Format Markers (USFM) was developed to standardize SFM and encourage interoperability so that Bibles from one agency could be reasonably expected to operate with the software and stylesheets employed by another. The current version of USFM is 2.1, defined at

Preparing (U)SFM files for conversion

The simplicity of writing SFM also makes it easy to write poor SFM that fails to correspond to any kind of standard. The first task in preparing to convert SFM files to OSIS is to clean the text. The more regular your source files are, the more likely the conversion process will operate correctly.

One method of cleaning up your files is to import them into an SFM editor such as Bibledit (which runs on Linux) or SIL FieldWorks Translation Editor (which runs on Windows). The editors will frequently perform some basic corrections to the SFM syntax, but Bibledit in particular can perform a number of checks to correct specific errors common to SFM.

Converting USFM files to OSIS

There exist two publicly distributed programs capable of converting USFM files to OSIS: and SFMToOSIS.


SFMToOSIS is the method of converting SFM & USFM files to OSIS XML files that CrossWire recommends. It is a robust, but somewhat difficult to setup and use, program produced by Snowfall Software. The program requires that you install a Python interpreter and that the interpreter be within the system path.

Using is a simple Perl script intended only for converting USFM files to OSIS. It is not as robust as SFMToOSIS and is less likely to produce valid OSIS files automatically. If it works for you, that's great, but you may find that using SFMToOSIS produces cleaner OSIS output.

Importing OSIS files into Sword