.IML

IML File

IntelliJ IDEA Module File
Ask a question
QUICK ANSWER

An IML file is an XML configuration file that IntelliJ IDEA uses to describe one module in a project - its source roots, SDK, and dependencies. Open the project in IntelliJ IDEA or Android Studio; the IDE reads the file automatically. In Gradle or Maven projects, IntelliJ regenerates it on every sync, so you typically do not need to touch it manually.

Developer: JetBrains s.r.o. Category: Developer Files MIME: text/xml
OPENS ON Windows macOS Linux
Related: .DO · .MD · .HEX · .XSD

On this page

19k+ extensions indexed
Last reviewed Aug 27, 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 IML file format?

An .iml file is an XML configuration file that describes a single module within an IntelliJ IDEA project. Each module definition records the module type (such as JAVA_MODULE, WEB_MODULE, or PYTHON_MODULE), the source and test roots within the module's content directory, excluded folders, and the full dependency chain - including JDK, other modules, and library references. IntelliJ IDEA, Android Studio, and other JetBrains IDEs read .iml files to determine project structure without re-scanning the filesystem.

The file is plain UTF-8 XML. The root element is <module type="..." version="4">, and its primary child is the NewModuleRootManager component, which holds <content>, <sourceFolder>, <excludeFolder>, and <orderEntry> elements. No binary data, compression, or encryption is involved.

.iml files are created and maintained automatically by the IDE. They are stored either in the module's own root directory or inside the .idea/ project folder depending on IDE version and project layout. JetBrains recommends adding .iml files to .gitignore in multi-developer projects that use Gradle or Maven, because the IDE regenerates them automatically from the build script on import. In projects without a build tool, .iml files are typically version-controlled.

Hand-editing is rarely needed; the IDE manages module settings through the Project Structure dialog.

Security & safety

RISK: LOW

IML files are plain XML configuration files - not executable. They can reference external JARs or libraries that could theoretically point to malicious paths, but the file itself cannot execute code. Safe to open in a text editor. In a malicious repository, a tampered .iml could point dependency paths to unexpected locations - inspect before syncing in an unfamiliar project.

Format details

in a nutshell
FULL NAMEIntelliJ IDEA Module Fileaka IntelliJ module file, IDEA module descriptor
DEVELOPERJetBrains s.r.o.since IntelliJ IDEA 1.0, January 2001
MIME TYPEtext/xml
TYPEXML configuration file
This extension is also used by…
  • ACT! Internet Mail Message - Legacy email message file from ACT! contact management software (Sage); obscure and effectively obsolete.

Programs that open IML files

Windows4 apps
IntelliJ IDEA Freemium Open the project containing the .iml file via File → Open. IDEA loads module config automatically; no need to open .iml directly.
Android Studio Free Open Android project; Android Studio reads .iml files automatically.
Notepad++ (view/edit) Open-source Open .iml file directly for manual inspection or editing; XML syntax highlighting available.
Text editor (generic) Open-source Any text editor can open the XML file for inspection.
macOS2 apps
IntelliJ IDEA Freemium Open the project; IDEA manages .iml automatically.
Android Studio Free Open Android project; .iml loaded automatically.
Linux2 apps
IntelliJ IDEA Freemium Open the project; IDEA manages .iml automatically.
Text editor (generic) Open-source vim, gedit, VS Code, or any editor for XML inspection.

Technical details

deep spec
XML root element`<module type="..." version="4">` - `version="4"` is the current format revision
Module types`JAVA_MODULE`, `WEB_MODULE`, `PYTHON_MODULE`, `ANDROID_MODULE`, and other IDE-specific types
Key component`NewModuleRootManager` holds source roots, excluded folders, and dependency order entries
Source root declaration`<sourceFolder url="..." isTestSource="false"/>` distinguishes production from test source sets
Dependency entries`<orderEntry>` elements reference JDK, module-to-module dependencies, and library jars
EncodingPlain UTF-8 text; no compression, encryption, or binary sections
Storage locationModule root directory or `.idea/` project folder, depending on IDE version and project setup
Auto-generationGradle and Maven imports regenerate `.iml` files; hand-edited entries may be overwritten on re-import
Version control guidanceExclude from VCS when Gradle/Maven is used; include when no build tool is present
Format version historyRoot element `version` attribute has progressed from `2` → `3` → `4` across IDEA releases
Compatible IDEsIntelliJ IDEA, Android Studio, PyCharm, WebStorm, and all other JetBrains platform IDEs
Typical size1 KB - 50 KB, larger for modules with many dependencies or source roots
ReleasedIntelliJ IDEA 1.0, January 2001
Latest versionNo formal versioning; format evolved continuously with IDEA releases; current format used in IDEA 2024+
Specificationwww.jetbrains.com

IML conversions

Community Q&A

asked by users
Ask a quick question
Get help from people who work with IML 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 IML files.

Frequently asked questions

Should I commit .iml files to Git?
It depends on your build tool. For Gradle/Maven projects: add .iml to .gitignore - the IDE regenerates them from build scripts. For IDEA-managed projects (no Gradle/Maven): commit them so team members get the module config.
IntelliJ shows an error about my .iml file - what do I do?
Delete the .iml file and reopen the project. IntelliJ will regenerate it. For Gradle projects, also run 'Gradle Sync'.
Can I edit an .iml file manually?
Yes - it is plain XML. But changes may be overwritten on the next Gradle/Maven sync. Use File → Project Structure in IDEA instead for persistent edits.
What is the difference between .IML and .IPR files?
.iml is a module descriptor; .ipr is the legacy project file (older IntelliJ format). Modern IntelliJ projects use a .idea/ directory instead of .ipr.
Why does my Android Studio project have multiple .iml files?
Each module (app, library module, feature module) in an Android project has its own .iml file describing its dependencies and source roots.

References

1JetBrains - Modules documentationwww.jetbrains.com
2JetBrains - Project under VCS (when to commit IML)intellij-support.jetbrains.com

Keep exploring

across the database

Top extensions this week

1.AQQAQQ Instant Messenger File
2.BINCD/DVD Disc Image (BIN/CUE)
3.CRDOWNLOADChrome Partial Download File
4.PARTPartial Download File
5.MDMarkdown Document
6.RPMSGRestricted Permission Message
7.NOMEDIAAndroid No-Media Marker File
8.PRO6XProPresenter 6 Bundle File
9.PRDXSoftMaker Presentations Document
10.SWFSmall Web Format (Shockwave Flash)

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