.MOM

MOM File

Core Data Compiled Managed Object Model
Ask a question
QUICK ANSWER

A MOM file is a compiled Core Data managed object model - the binary schema (entities, attributes, relationships) that an Apple app uses at runtime. It is a build artifact produced by Xcode, not a document you open to read data. To inspect its contents, run plutil -p file.mom in Terminal; to edit the model, open the project's .xcdatamodeld source in Xcode.

Developer: Apple Category: Developer Files MIME: application/octet-stream
OPENS ON macOS
Related: .DO · .MD · .HEX · .XSD

On this page

19k+ extensions indexed
Last reviewed Jul 13, 2026

Not sure what your file is?

Drop any file into our identifier - we read just the first bytes to name the format.

Identify a file

What is the MOM file format?

A .mom file is a compiled Core Data model produced by Xcode at build time. When a developer designs a data schema in the .xcdatamodeld source editor, Xcode compiles that design into a binary .mom (Managed Object Model) file that ships inside the application bundle and is loaded at runtime by NSManagedObjectModel.

Structurally, a .mom is an Apple binary property list beginning with the magic bytes bplist00, encoding entities, attributes, relationships, fetch request templates, and model configurations that define the app's Core Data schema. It describes the database structure - not the data itself.

For versioned schemas, Xcode builds a .momd bundle - a directory containing one .mom file per schema version plus a VersionInfo.plist that records per-entity version hashes. Core Data compares those hashes at launch to decide whether lightweight migration is possible or a heavyweight migration mapping model is needed.

Developers never edit a .mom directly; the .xcdatamodeld source file is the artifact to work with. The .mom is strictly a build product - modifying it by hand would corrupt the model. Apple platforms that use Core Data include macOS, iOS, iPadOS, tvOS, and watchOS.

A newer option, SwiftData (introduced in 2023), builds on Core Data internally but exposes a Swift macro-based API that hides .mom files from the developer entirely. For apps still targeting older OS versions, the .xcdatamodeld → .mom pipeline remains current.

Security & safety

RISK: LOW

A .mom is a passive build artifact (a property list of schema definitions) and is not executable, so it poses little risk. It exposes an app's data schema but no user data. The only caution is the usual one for unknown files: inspect with plutil rather than running anything. Avoid 'MOM file opener' download sites - the right tools (Xcode, plutil) are free from Apple.

Format details

in a nutshell
FULL NAMECore Data Compiled Managed Object Modelaka Compiled Core Data model, Managed Object Model
DEVELOPERApplesince Core Data, introduced with Mac OS X 10.4 Tiger (2005); built on the earlier Enterprise Objects Framework
MIME TYPEapplication/octet-stream
TYPECompiled binary representation of a Core Data data model, built by Xcode from an .xcdatamodel(d) source

Programs that open MOM files

macOS3 apps
Apple Xcode Free Don't open the .mom directly - open the project's .xcdatamodeld in Xcode's model editor to view/edit entities and relationships. The .mom is regenerated on build.
Property List Editor / Xcode plist viewer Free Since a .mom is an Apple binary property list, open it as a plist (e.g. plutil -p file.mom in Terminal, or any bplist viewer) to inspect its serialized contents.
Terminal (plutil) Built-in Run plutil -p path/to/Model.mom to print the compiled model as readable text.

Technical details

deep spec
File typeCompiled Apple binary property list (bplist)
Magic bytesbplist00 (62 70 6C 69 73 74 30 30) at offset 0
DeveloperApple Inc.
EncodingBinary (Apple bplist serialization)
Typical file sizeA few KB to a few hundred KB (schema description, not app data)
ContentsSerialized NSManagedObjectModel - entities, attributes, relationships, fetch request templates, and configurations
Build artifactCompiled by Xcode from a .xcdatamodeld source; not intended for manual editing
Versioned bundle.momd directory containing one .mom per schema version plus VersionInfo.plist with per-entity version hashes
Optimized variant.omo (optimized managed object model) - generated by Xcode for faster runtime loading
Migration supportPer-entity version hashes in VersionInfo.plist drive lightweight and heavyweight Core Data migration
Runtime loadingLoaded via NSManagedObjectModel API; drives NSPersistentStoreCoordinator and NSManagedObjectContext
Associated platformsmacOS, iOS, iPadOS, tvOS, watchOS
Modern alternativeSwiftData (2023) builds on Core Data but hides .mom files behind a Swift macro-based API
ReleasedCore Data, introduced with Mac OS X 10.4 Tiger (2005); built on the earlier Enterprise Objects Framework
Latest versionTracks the current Xcode / Core Data tooling (versioned models compile to .momd directories)
Specificationdeveloper.apple.com

MOM conversions

Community Q&A

asked by users
Ask a quick question
Get help from people who work with MOM files. Be specific - include your system and software version.
No account needed · answers usually within a day

No questions yet - be the first to ask about MOM files.

Frequently asked questions

What is a .mom file on my Mac?
It's a compiled Core Data model - the binary schema (entities, attributes, relationships) an app uses with Apple's Core Data framework, built by Xcode. It's a developer file, not a document.
How do I open a .mom file?
Don't edit the .mom directly - open the project's .xcdatamodeld in Xcode. To just inspect a .mom, it's a binary plist, so run plutil -p file.mom in Terminal.
Where's my data - is it inside the .mom?
No. The .mom only holds the schema. Your actual data lives in a separate Core Data store, usually an .sqlite file in the app's container.
What's the difference between .mom, .momd and .omo?
.mom is a single compiled model; .momd is a bundle (directory) of multiple .mom versions for migration; .omo is an optimized compiled model variant. All are Xcode build products.
Can I turn a .mom back into an editable Xcode model?
Not reliably. The .mom is compiled output; the editable source is the .xcdatamodeld. You can read the schema with plutil but would have to rebuild the editable model manually.
My app crashes with a Core Data model mismatch - is the .mom the problem?
Often yes: the model version (its hash in the .mom/.momd) doesn't match the existing store, so a migration is needed. Add a model version and a mapping, or enable lightweight migration.

References

1Apple - NSManagedObjectModeldeveloper.apple.com
2Apple - Core Data frameworkdeveloper.apple.com

Keep exploring

across the database

Top extensions this week

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.PARTPartial Download File
4.DATProgram Data File (generic)
5.EXEWindows Executable (Portable Executable)
6.NOMEDIAAndroid No-Media Marker File
7.BINCD/DVD Disc Image (BIN/CUE)
8.RPMSGRestricted Permission Message
9.MDMarkdown Document
10.XDWDocuWorks Document

Related extensions

.DOStata Do-File
.MDMarkdown Document
.HEXIntel HEX File
.XSDXML Schema Definition
.MAPSource Map (JavaScript / CSS)
.CONFIGConfiguration File

Free file tools

An in-browser file identifier and image converter - everything runs on your device.

Open the toolbox

Browse file extensions A-Z