Image to Base64 Converter - Online Encode Picture to Text
Transform any image into a Base64 data URI for embedding directly into HTML, CSS, or JSON. Drag and drop support. Entirely browser-side conversion.
UD5 Toolkit
Progressive Decode, Frame Inspection & Metadata Extraction — Powered by the Web ImageDecoder API
Drop Image Here
or click to browse
JPEG, PNG, WebP, AVIF, GIF, BMP<img> tag which handles decoding automatically in a black-box manner, ImageDecoder allows you to decode images frame-by-frame, track decoding progress, extract detailed metadata, and even perform progressive decoding where partial image data yields a preview before the full image loads. It's part of the WebCodecs family of APIs, designed for high-performance media processing directly in the browser.
completeFramesOnly: false during decode, returning partial frames that can be rendered right away. This technique dramatically improves perceived performance and user experience.
<img> elements.
| Feature | <img> Tag | ImageDecoder API |
|---|---|---|
| Automatic decoding | ✅ Yes | ❌ Manual control |
| Progressive rendering | âš Browser-dependent | âś… Full control |
| Frame-level access | ❌ Not available | ✅ Every frame accessible |
| Metadata before decode | ❌ Must load fully | ✅ Available via tracks |
| Decode progress tracking | ❌ Limited | ✅ Real-time progress |
| Memory efficiency | âš Automatic | âś… Selective frame decoding |
'ImageDecoder' in window and provide a fallback (such as using <img> or createImageBitmap). This demo tool includes automatic detection and will warn you if your browser lacks support.
decode({frameIndex: n}). Each decoded VideoFrame includes timing information, so you can precisely control playback speed, jump to specific frames, or even extract individual frames as still images. The API also exposes the total frame count via tracks[0].frameCount — use our frame strip viewer above to browse through every frame of an animated image interactively.
if ('ImageDecoder' in window) {
// ImageDecoder API is available
const decoder = new ImageDecoder({type: 'file', data: arrayBuffer});
const result = await decoder.decode({frameIndex: 0});
// ... use result.image (a VideoFrame)
} else {
// Fallback: use createImageBitmap or <img> tag
const bitmap = await createImageBitmap(blob);
}
This demo tool runs this check automatically on page load and displays the API status badge at the top of the page.
<img> tag automatically applies EXIF orientation, color space conversions, and other corrections. With ImageDecoder, you're responsible for handling these yourself if needed. This is actually an advantage for applications that need pixel-perfect, unmodified image data. Check the tracks metadata for color space information that can guide your rendering.
ReadableStream — as data chunks arrive over the network, the decoder can produce increasingly complete frames that naturally transition from blurry to sharp. For a true progressive decode demo, try loading a large image via URL with the "Complete Frames Only" option disabled.
Transform any image into a Base64 data URI for embedding directly into HTML, CSS, or JSON. Drag and drop support. Entirely browser-side conversion.
Upload an image containing a QR code and decode its content. Works offline using JavaScript QR decoder. No camera needed.
Scan QR codes using your device camera. Decodes text, URLs, and Wi‑Fi credentials directly in the browser. No data sent to server.
Hide a secret message within an image by modifying LSB of pixels. Also decode. Pure canvas manipulation, local only. Fun privacy tool.
Drop a folder of images and convert all to the same format at once. Choose quality and download as ZIP. Local only.
Convert any image into a raw binary array of RGBA values. For use in embedded systems or game development. Copy as Uint8Array.
Convert a short video clip to GIF directly in the browser. Trim, resize, and adjust frame rate. No upload required, uses built‑in video decoder. Perfect for memes.
Open your camera and scan barcodes or QR codes in real time. Uses ZXing JS. No data sent anywhere.
Drop a PNG file and see all its chunks (IHDR, tEXt, etc.). Extract hidden text and color profiles. Pure JavaScript reader.
Encode special characters into URL-safe format or decode percent-encoded strings back to plain text. Fast and reliable, runs locally in your browser.
Encode images to the modern AVIF format with lossless or lossy compression. See the quality/size trade‑off. Local WASM.
Upload an animated GIF and download every single frame as a separate PNG image. See frame delays and total count. Entirely local.
Convert animated GIFs to animated WebP format for smaller file size. Choose quality level. All processing in browser.
Extract text from images using basic OCR technology. Works best with clear, printed fonts. Completely local, images never leave your browser for privacy.
Create a mosaic where many small tiles are replaced with solid colors from a palette. Pixel art style. Adjust grid size. Local canvas.
Use your camera to scan 1D barcodes (UPC, EAN, CODE128) directly in the browser. Quick and no app install. All scanning is local.
Draw pixel art on a canvas grid, choose colors from palette, and export as PNG. Fun for game assets and retro artworks. All drawn data stays in your browser.
Select a short video and convert it to an animated WebP image for faster web loading. Adjust quality and size. Local only.
Automatically improve the contrast of dark or washed‑out photos using histogram equalization. One‑click auto‑tune. All canvas‑based.
Split an image into equal grid parts or horizontal/vertical strips. Useful for Instagram carousel posts or puzzle creation. Everything runs in your browser.
Paste Morse code (dots and dashes) and translate it back to plain English text. Supports standard timing. Local.
Convert transparent PNGs to solid JPGs by filling the background with white or any color. Fast and local.
Create a trippy slit‑scan effect from any image. Simulates the famous photographic technique. Adjust direction and width.
Paste binary sequences and convert them back to readable text. Supports space-separated and 8-bit formatted strings. Quick encoding reconversion.
Load a video file and grab any frame as a still image. Navigate frame by frame. Download the snapshot. All done on your device.
Pixelate selected areas of an image to hide faces or sensitive data. Adjust block size. Download the censored result.
Adjust ISO, f‑stop, shutter speed and see a simulated image brightness and depth of field effect. Learn manual mode.
Convert any photo into a stark 1‑bit black‑and‑white image (no grays). Adjust threshold. Save as PNG.
Scan QR codes using your device camera or by uploading an image. Instant decoding of URLs, texts, and more. No data sent to server, pure browser processing.
Obfuscate strings using simple techniques to prevent casual reading. Useful for hiding spoilers or email addresses from bots. Decode with the same tool.