A manifest file is a list that tells your device or program what to do

A manifest file is a text document that contains instructions or a list of contents. Think of it like a shipping label on a package — it describes what is inside, where it should go, and what permissions it needs. Your device reads the manifest to understand how to set up and run a program, or what files belong together in a bundle.

The most common manifest files you will encounter are in Android apps and web applications. When you install an app on an Android phone, the system reads the app's manifest file first. This file tells Android what the app is called, what features it needs (like camera access or location), what screens it contains, and what happens when you tap the app icon. Without the manifest, Android would not know how to install or run the app at all.

Manifest files are plain text, which means you can open them in any text editor if you need to look inside one. However, most people never need to read or edit a manifest file themselves — the developer who created the app or program handles that work before you ever download it.

Key Takeaways

  • A manifest file is a set of instructions that tells your device what a program contains and how to run it.
  • Android apps use a manifest file called AndroidManifest.xml to list permissions, screen names, and startup instructions.
  • Web applications and software packages also use manifest files to describe their contents and requirements.
  • You rarely need to edit a manifest file yourself — developers create and maintain them before distributing their programs.
  • Manifest files are plain text and can be read in any text editor, but they follow strict formatting rules that programs depend on.

How Android apps use manifest files

Every Android app has a manifest file named AndroidManifest.xml. This file sits inside the app's package and contains the core information Android needs to install and run it. When you download an app from the Google Play Store, Android unpacks the app file and reads the manifest first to understand what it is about to install.

The manifest lists several critical things. It names the app, specifies the minimum Android version required to run it, and declares what hardware features the app needs — like a camera, microphone, or GPS. It also lists every screen (called an "activity" in Android terms) that the app contains, so Android knows what to open when you tap the app icon. If the app needs to receive notifications or respond to certain events, those are declared in the manifest too.

Permissions are another major part of the manifest. When an app wants to access your contacts, read your location, or use your camera, those requests are listed in the manifest. Android shows you these permissions during installation so you can decide whether to allow the app to proceed. If a permission is not declared in the manifest, the app cannot use that feature, even if the developer tried to code it in.

Manifest files in web applications

Web applications — programs that run in your browser rather than as standalone apps — also use manifest files. A web app manifest is a JSON file (a structured text format) that describes the app and how it should behave when installed on your home screen or opened in full-screen mode.

This manifest tells your browser the app's name, what icon to display, what color the background should be, and whether the app should open in portrait or landscape mode. It also specifies the app's starting page and what happens when you open it. If you have ever installed a web app on your phone's home screen, your browser read the manifest file to know how to display it.

Manifest files in software packages and archives

Beyond apps, manifest files appear in software packages and compressed archives. When you download a software installer or a ZIP file containing multiple programs, a manifest file inside may list what files are included, their sizes, and where they should be installed. Some manifest files also contain checksums — mathematical fingerprints that verify the files have not been corrupted or tampered with during download.

Java applications use manifest files to describe the program's entry point (which class to run first), what libraries it depends on, and what version of Java it requires. Windows executable files can include manifest information that tells the operating system what permissions the program needs and whether it requires administrator access.

Why manifest files matter

Manifest files exist to prevent confusion and mistakes. Without them, your device would not know what a program contains, what it needs to run, or what permissions to grant. A manifest acts as a contract between the developer and your device — the developer declares what the program does, and your device enforces those declarations.

This system also protects your privacy and security. Because permissions must be declared in the manifest, a malicious app cannot silently access your camera or location without you knowing about it. Your device checks the manifest and refuses to grant any permission that was not declared. If a developer tries to use a feature without declaring it in the manifest, the app will crash rather than succeed.

When you might encounter a manifest file

Most users never need to think about manifest files. They work behind the scenes, and your device handles them automatically. However, you might encounter one if you are developing an app, modifying an existing app, or troubleshooting a program that will not install or run correctly.

If you download an app and Android refuses to install it, the manifest file may be the reason — perhaps the app requires a newer version of Android than your phone has, or it needs hardware your device does not have. If you are building an app yourself, you will need to create and edit a manifest file to tell the system what your app does and what it needs.

Some advanced users also encounter manifest files when extracting or modifying APK files (Android app packages). An APK is really just a ZIP archive, and the manifest is one of the files inside. If you want to inspect what an app declares, you can extract the APK and read the manifest with a text editor.

Common manifest file formats

Different platforms use different manifest formats. Android uses XML (a markup language with tags and attributes). Web applications use JSON (a format that organizes data into objects and lists). Java programs use a simple text format with key-value pairs. Windows uses XML embedded inside executable files.

Despite the different formats, they all serve the same purpose: describing what a program is, what it needs, and how it should behave. The format does not matter to you as a user — your device reads and interprets it automatically. The format only matters to developers who create and edit manifest files.

Frequently Asked Questions

Can I edit a manifest file to change how an app works?

Technically yes, but it is not practical for most users. Editing a manifest requires extracting the app file, modifying the XML or JSON, and repackaging it — a process that breaks the app's digital signature, so your device may refuse to install it. Developers edit manifest files during development, but users should not attempt this.

What happens if a manifest file is missing or corrupted?

Your device cannot install or run the program. Android will show an error message during installation. If a manifest becomes corrupted after installation, the app may crash when you try to open it. Reinstalling the app usually fixes the problem because the new copy includes a fresh manifest file.

Do all programs have manifest files?

Most modern programs do, but not all. Simple scripts or command-line tools may not have a manifest. Desktop programs on Windows or Mac may store manifest information in different ways. However, any program designed to be installed and run on a modern operating system or device typically includes some form of manifest.

Can a manifest file contain malware?

A manifest file itself is just text and cannot execute code or cause harm. However, a manifest file can declare permissions that a malicious app wants — like access to your contacts or location. That is why you should always review the permissions an app requests before installing it. If an app asks for permissions it does not seem to need, that is a warning sign.

Why do some apps ask for more permissions than they seem to need?

Developers declare permissions in the manifest based on what their app might do. Some apps request permissions they do not use immediately but might use in future updates. Others request broad permissions because they use a library or service that needs them, even if the app itself does not. You can still install the app and deny individual permissions on Android 6.0 and newer.