User Rating 0.0 โ˜…โ˜…โ˜…โ˜…โ˜…
Total Usage 0 times

Drop your ARGB file here or browse

Raw ARGB, PNG, or BMP โ€ข Max 50 MB

1% (smallest)100% (best)
Is this tool helpful?

Your feedback helps us improve.

โ˜… โ˜… โ˜… โ˜… โ˜…

About

ARGB is a pixel format where each pixel stores 4 bytes in the order Alpha, Red, Green, Blue. It appears in raw framebuffer dumps, Android Bitmap exports, DirectX surfaces, and certain embedded graphics pipelines. Converting ARGB to JPG requires alpha compositing: JPG has no transparency channel, so every translucent pixel must be blended against a chosen background color using the standard "over" operator Cout = Csrc โ‹… ฮฑ + Cbg โ‹… (1 โˆ’ ฮฑ). Getting the byte order wrong (confusing ARGB with RGBA or BGRA) produces color-shifted or corrupted output. This tool parses raw ARGB buffers given explicit dimensions and also accepts standard PNG files that use ARGB channel ordering internally.

JPEG quality Q controls the DCT quantization step. Values below 60 introduce visible block artifacts, while values above 92 yield diminishing file-size returns. This tool approximates lossless visual fidelity at Q = 92 by default. Note: any pixel with ฮฑ = 0 becomes pure background color. If your source uses premultiplied alpha, results will appear darker than expected because this tool assumes straight (non-premultiplied) alpha.

argb to jpg argb converter image converter alpha compositing raw pixel data argb to jpeg

Formulas

Alpha compositing uses the "source over" operation to flatten a transparent pixel onto an opaque background. For each color channel:

Cout = Csrc ร— ฮฑ + Cbg ร— (1 โˆ’ ฮฑ)

Where ฮฑ is normalized to [0, 1] by dividing the 8-bit alpha byte by 255:

ฮฑ = Abyte255

Raw ARGB buffer size validation ensures the file contains exactly the expected number of bytes:

sizeexpected = W ร— H ร— 4 bytes

Where W = width in pixels, H = height in pixels. If the file size does not equal sizeexpected, the dimensions are incorrect or the format is not raw ARGB.

JPEG quality Q maps to a quantization scaling factor. For Q < 50: S = 5000 รท Q. For Q โ‰ฅ 50: S = 200 โˆ’ 2 ร— Q. Lower S produces finer quantization and larger files.

Reference Data

Pixel FormatByte OrderBytes/PixelAlphaCommon Source
ARGB8888A-R-G-B4Yes (8-bit)Android Bitmap, DirectX
RGBA8888R-G-B-A4Yes (8-bit)OpenGL, WebGL, PNG
BGRA8888B-G-R-A4Yes (8-bit)Windows GDI, BMP
ABGR8888A-B-G-R4Yes (8-bit)Some GPU framebuffers
RGB888R-G-B3NoRaw camera, BMP 24-bit
BGR888B-G-R3NoOpenCV default
RGB565R(5)-G(6)-B(5)2NoEmbedded LCD, Android
ARGB4444A(4)-R(4)-G(4)-B(4)2Yes (4-bit)Legacy Android
ARGB1555A(1)-R(5)-G(5)-B(5)2Yes (1-bit)PlayStation, legacy GPU
Grayscale+AG-A2Yes (8-bit)Medical imaging
JPEG (baseline)Y-Cb-Cr (DCT)VariableNoWeb, cameras
PNGR-G-B-A (filtered)VariableOptionalWeb, screenshots
WebPVP8/VP8LVariableOptionalWeb
TIFF (32-bit)Varies4OptionalPrint, GIS
BMP (32-bit)B-G-R-A4OptionalWindows

Frequently Asked Questions

All three formats store 4 bytes per pixel but in different channel sequences. ARGB places the alpha byte first (A-R-G-B), common in Android Bitmap and DirectX. RGBA places alpha last (R-G-B-A), used by OpenGL, WebGL, and PNG. BGRA swaps red and blue with alpha last (B-G-R-A), standard in Windows GDI and BMP 32-bit. Loading a file with the wrong byte order swaps the red and blue channels or interprets alpha as a color channel, producing a tinted or corrupted image. This tool specifically handles ARGB order. If your source is RGBA or BGRA, the colors will appear shifted.
Raw ARGB files have no header - they are bare pixel dumps. You must know the dimensions from the exporting application. Verify by checking the file size: it must equal W ร— H ร— 4 bytes exactly. For example, a 1920ร—1080 raw ARGB file is exactly 8,294,400 bytes. If the file is 8,294,416 bytes, there may be a small header (16 bytes) or padding. Common sources like Android's Bitmap.compress() or GPU framebuffer captures document the resolution separately.
JPG does not support transparency. Every pixel with alpha < 255 is composited over the background color you choose using the standard over operator: C_out = C_src ร— ฮฑ + C_bg ร— (1 โˆ’ ฮฑ). Fully transparent pixels (ฮฑ = 0) become the pure background color. Semi-transparent pixels blend proportionally. Choose white (#FFFFFF) for document-style output or match your target page background.
No. This tool assumes straight (non-premultiplied) alpha, where each color channel stores its full intensity independent of alpha. Premultiplied alpha stores C ร— ฮฑ in each channel, so colors are already darkened by transparency. If you feed premultiplied data, the compositing formula double-applies alpha, producing darker-than-expected results. Premultiplied formats are common in GPU render targets and Core Graphics (macOS). Convert to straight alpha before using this tool.
For photographic content, Q = 85 balances visual quality and file size. For screenshots or graphics with sharp edges, Q = 92 or higher reduces ringing artifacts around text and lines. Below Q = 60, 8ร—8 block artifacts become visible. Above Q = 95, file size increases sharply with negligible perceptual improvement. The default here is Q = 92. For archival purposes where file size is irrelevant, use Q = 100, though JPEG is still lossy even at maximum quality.
This tool processes everything client-side in your browser. The practical limit is your device's available RAM. A raw ARGB file at 4096ร—4096 is 67 MB and requires roughly 200 MB of RAM for the Canvas buffer. Files up to 50 MB (approximately 3600ร—3600 raw ARGB) work reliably on modern devices. Mobile browsers may struggle above 16 megapixels. The tool enforces a 50 MB input limit and validates dimensions do not exceed 16384ร—16384 pixels.