This project is an a firmware repository of OxygenOS & ColorOS, offering stock OTA images for OnePlus phones. All files are archived, ensuring easy access and long-term preservation.
- Helps in restoring stock firmware and recovery from soft‑bricks.
- Provides stock OTA images in an archived form, enabling access to specific partition images without needing to download the full OEM firmware, thus saving bandwidth and storage.
- Makes
boot/init_bootimages available for rooting, un‑rooting or partition recovery. - Generates OTA images utilizing AOSP’s OTA extraction tool that allows extracting incremental OTA updates when full firmware packages are unavailable.
- Supports all regional variants of the device model available.
By using this archive, you acknowledge and accept these terms:
- Authenticity – All firmware files in this archive are unaltered, unmodified and sourced directly from the OEM.
- Flash at Your Own Risk – Installing firmware on an unlocked bootloader device carries inherent risk of bricking.
- Compatibility – Ensure the firmware matches your specific OnePlus device variant before installation.
- No Warranty or Official Support – This is a community project, unaffiliated with OnePlus. The project team is not liable for device damage, data loss or failures.
- Open Source Integrity – Redistribution is permitted when given proper attribution. Reselling freely available firmware is strictly prohibited.
- Releases are tagged using the format:
version_name_regionand can be found here. - The firmware files are categorized into:
boot,firmwareandlogicalbased on their nature. - The classification of images can be found in
devices.json.
| Code | Region |
|---|---|
| IN | India |
| CN | China |
| EU | Europe |
| GLO | Global |
| NA | North America |
| ROW | Rest of World |
📝 Note:
- The
bootandfirmwarecategories are identical for bothEUandGLOvariants. Onlylogicalpartitions differ and are needed for full stock ROM flashing.- The ROW (Rest of World) region is used when there are no specific releases for EU or GLO available or identifiable for that particular model.
| Model ID | Releases |
|---|---|
| PLK110 | CN |
| CPH2749 | NA |
| CPH2745 | IN |
| CPH2747 | EU / GLO |
| Model ID | Releases |
|---|---|
| PLQ110 | CN |
| Model ID | Releases |
|---|---|
| OPD2413 | CN |
| OPD2415 | ROW |
| Model ID | Releases |
|---|---|
| PJZ110 | CN |
| CPH2649 | IN |
| CPH2655 | NA |
| CPH2653 | EU / GLO |
| Model ID | Releases |
|---|---|
| PKX110 | CN |
| CPH2723 | IN |
| Model ID | Releases |
|---|---|
| PKG110 | CN |
| CPH2691 | IN |
| CPH2645 | EU / GLO |
| Model ID | Releases |
|---|---|
| PJD110 | CN |
| CPH2573 | IN |
| CPH2583 | NA |
| CPH2581 | EU / GLO |
| Model ID | Releases |
|---|---|
| PJE110 | CN |
| CPH2585 | IN |
| CPH2609 | EU / GLO |
Ensure that downloaded OTA images are authentic by verifying their SHA‑256 hashes:
sha256sum -c *-hash.sha256certutil -hashfile <filename> SHA256- Alternatively, you may use tools such as OpenHashTab to perform hash verification.
Special thanks to our key contributors and co‑maintainers for their invaluable support and work.
If this archive has been helpful, please consider starring the repository. Your support helps keep the project discoverable and active!
