.ARSC

ARSC File

Android Compiled Resources File
Ask a question
QUICK ANSWER

An ARSC file (almost always named resources.arsc) is the compiled binary resource table packed inside every Android APK. It maps an app's resource IDs - strings, colors, dimensions, styles - to the correct values for each language and screen configuration. End users never open it directly; developers and reverse-engineers inspect it with Android Studio's APK Analyzer or apktool.

Developer: Google (Android Open Source Project) Category: Developer Files Open standard MIME: application/octet-stream
OPENS ON Windows macOS Linux
Related: .DO · .MD · .HEX · .XSD

On this page

19k+ extensions indexed
Last reviewed Jul 25, 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 ARSC file format?

An .arsc file is a compiled Android resource table. .arsc files are used by developers to store application resources in a compact binary form the OS can read efficiently at runtime. .arsc resource files contain static data - strings, dimensions, colors, styles and layout configuration values - that does not change during the application's running process. Unlike raw source assets, an .arsc file does not embed images directly; binary drawables are stored as separate entries elsewhere in the package. Source code and resource files are compiled by aapt2 into a single installable .apk package. The resulting file can then be used to install the given application on an Android device.

Inside an .apk (or .aab), the compiled table is always named resources.arsc and stored uncompressed - since Android 11, the runtime memory-maps it directly rather than decompressing it, so it must be 4-byte aligned. All software development environments use some kind of resource files, but only Android uses the .arsc resource table format. Resource files are designed to be accessed anywhere in the project - resources can be referenced throughout the source code via R.* constants such as R.string.app_name. Such an approach allows the codebase to be modified without changing every line where a given resource is referenced. The compiled table can also be decoded from a packaged application using tools such as apktool or the APK Analyzer built into Android Studio.

Security & safety

RISK: LOW

resources.arsc is inert data - no code, no macros - so the file itself is harmless to inspect. The only real concern is the APK it came from: decompiling an app may be against its license, and hand-editing the table then re-signing an APK is how malware is sometimes repackaged, so treat modified APKs from untrusted sources with suspicion.

Format details

in a nutshell
FULL NAMEAndroid Compiled Resources Fileaka resources.arsc, Android resource table
DEVELOPERGoogle (Android Open Source Project)since 2008 (Android 1.0, part of the APK/aapt toolchain)
MIME TYPEapplication/octet-stream
TYPEBinary resource table (compiled, inside an APK)
STANDARDOpen · royalty-free
MAGIC BYTES · FILE SIGNATURE
OFFSET
00010203
HEX
02000C00
ASCII
····
Little-endian ResChunk_header: type=0x0002 (RES_TABLE_TYPE) then the 2-byte header size; not ASCII-readable.

Programs that open ARSC files

Windows3 apps
Android Studio (APK Analyzer) Open-source Build > Analyze APK… then select resources.arsc to browse the decoded resource table.
apktool Open-source Run: apktool d app.apk - decodes resources.arsc back into readable res/values XML.
jadx (jadx-gui) Open-source Open the APK; the Resources tree renders resources.arsc entries readable.
macOS2 apps
Android Studio (APK Analyzer) Open-source Build > Analyze APK… and select resources.arsc.
apktool Open-source apktool d app.apk to decode the resource table to XML.
Linux2 apps
apktool Open-source apktool d app.apk - decodes resources.arsc to editable res/values.
Android Studio (APK Analyzer) Open-source Open the APK in APK Analyzer and inspect resources.arsc.

Technical details

deep spec
File encodingBinary, little-endian
Magic bytes02 00 0C 00 at offset 0 (ResChunk_header: type=0x0002 RES_TABLE_TYPE, header size=0x000C)
MIME typeapplication/octet-stream
ContainerStored uncompressed (ZIP STORED method, not DEFLATE) inside an APK or AAB archive
Typical file size10 KB - 5 MB, depending on number of locales, screen densities and string-pool size
Internal filenameresources.arsc (fixed name within the APK/AAB ZIP)
Resource ID format32-bit value 0xPPTTEEEE: 8-bit package, 8-bit type, 16-bit entry; supports up to 255 types and 65,535 entries per type
Top-level structureRES_TABLE chunk containing a global string pool plus one package chunk per app, each holding type-spec and type sub-chunks
Configuration dimensionsMaps each resource ID to values across multiple device configurations: language/locale, screen density, orientation, smallest width, API level, and more
Sparse encodingClassic dense type-entry table by default; optional sparse encoding available since Android 14 (SDK 34, 2023) to reduce size
Runtime accessMemory-mapped (mmap) at runtime since Android 11; must be 4-byte aligned and stored uncompressed to allow zero-copy access
Integrity protectionNo built-in checksum; the enclosing APK v2/v3 signature block covers the entire archive including resources.arsc
Compiler toolchainGenerated by aapt (legacy) or aapt2 (current Android build tools) from res/values XML source files
Associated platformAndroid only; not used by iOS, Windows or other mobile platforms
DeveloperGoogle / Android Open Source Project (AOSP)
Released2008 (Android 1.0, part of the APK/aapt toolchain)
Latest versionAAPT2 binary table (current with the Android build tools); sparse-encoding option added Android 14 / SDK 34, 2023
Open standardYes · royalty-free
Specificationandroid.googlesource.com

ARSC conversions

Community Q&A

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

Frequently asked questions

What is resources.arsc inside my APK?
It's the compiled resource table - a binary index that maps an app's resource IDs (strings, colors, dimensions, styles) to values for each language, density and configuration. The Android runtime reads it to localize and theme the app.
How do I open or read an .arsc file?
Use Android Studio's APK Analyzer (Build > Analyze APK) or run apktool d app.apk, which decodes resources.arsc back into readable res/values XML. Plain text editors show only binary garbage.
Can I edit an .arsc file directly?
Not practically by hand - it's a binary table with cross-references and a string pool. Decode the APK with apktool, edit the generated XML, then rebuild and re-sign the APK.
Why is resources.arsc not compressed in the APK?
Since Android 11 it is stored uncompressed and aligned so the OS can memory-map it directly, which is faster than decompressing it at runtime.
Is .arsc the same as AndroidManifest.xml?
No. Both are compiled binary files in an APK, but the manifest is the binary-XML app descriptor, while resources.arsc is the resource value table they reference.

References

1AOSP - aapt2 (Android Asset Packaging Tool)developer.android.com
2Android Studio - Analyze your build with APK Analyzerdeveloper.android.com

Keep exploring

across the database

Top extensions this week

1.AQQAQQ Instant Messenger File
2.CRDOWNLOADChrome Partial Download File
3.JPGJPEG Image
4.DATProgram Data File (generic)
5.EXEWindows Executable (Portable Executable)
6.RPMSGRestricted Permission Message
7.PARTPartial Download File
8.BINCD/DVD Disc Image (BIN/CUE)
9.DBSQLite Database File
10.JSONJavaScript Object Notation file

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