PNG to Hex Converter

Reads a PNG file's raw bytes, verifies its 8-byte PNG file signature, and converts every byte into a two-character lowercase hexadecimal pair, producing a continuous hex string suitable for embedding in firmware resource tables, hex editors, or low-level byte inspection. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-26

Overview

Introduction

Sometimes you need a PNG's exact bytes represented as readable hexadecimal — for embedding in firmware, pasting into a hex editor, or manually inspecting a file's structure.

This tool produces that hex dump entirely in your browser.

What Is PNG to Hex Converter?

A byte-level converter that validates an uploaded file's PNG signature, then encodes every byte as a two-character hexadecimal pair with no separators.

The result is a single continuous string representing the file's exact contents.

How PNG to Hex Converter Works

The uploaded file is read as raw bytes; the first 8 bytes are compared against the standard PNG file signature to confirm it's a real PNG before proceeding.

Each byte is then converted via toString(16), padded to two digits, and concatenated into the final hex string.

When To Use PNG to Hex Converter

Use it when you need to embed a small PNG's exact bytes into source code, firmware, or a hex editor's paste field.

It's also useful for low-level debugging — comparing two PNG files' hex dumps can reveal exactly where they differ.

Features

Advantages

  • Runs entirely client-side; the image file is never uploaded to a server.
  • Preserves the exact original bytes with no compression or alteration.
  • Verifies the file is actually a PNG before converting, rather than trusting the file extension.

Limitations

  • Hex text is roughly double the size of the original binary data, making this impractical for large images.
  • The output has no formatting (no line breaks or byte grouping) by design, so very long strings may need to be reformatted for readability in some editors.

Examples

Small icon

Input

An 800-byte PNG icon

Output

89504e470d0a1a0a... (1,600 hex characters)

Hex encoding produces exactly two characters per input byte.

Non-PNG file

Input

A JPEG renamed to icon.png

Output

Error: "This file doesn't start with a valid PNG signature."

The signature check inspects the file's actual bytes, not its extension.

Best Practices & Notes

Best Practices

  • Reserve this for small assets like icons where a hex representation is actually practical to work with.
  • Pair with the Hex to PNG converter to verify a round trip reproduces the exact original file.

Developer Notes

The signature check and hex encoding are a pure function over a Uint8Array with no external dependency, using each byte's toString(16) padded to two digits, mirroring the byte-reading pattern already used by png-to-base64-converter.

PNG to Hex Converter Use Cases

  • Embedding a small PNG's exact bytes into a firmware resource table
  • Pasting PNG bytes into a hex editor for manual inspection
  • Comparing two similar PNG files byte-for-byte via their hex dumps

Common Mistakes

  • Using this for large photos, producing an unwieldy multi-thousand-character string.
  • Forgetting the output has no byte separators — some tools expect space- or comma-separated hex bytes instead.

Tips

  • If your target tool expects '0x' prefixes or separators, use the Hex to PNG converter's tolerant parser as a reference for what formatting is safe to add back.
  • Copy the output directly rather than retyping it, since a single mistyped hex digit will corrupt the decoded file.

References

Frequently Asked Questions