Random Hex Number Generator

Produces a random hexadecimal (base-16) value with a specific digit length, in upper or lowercase — useful for generating example color codes, memory addresses, or general hex test data. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-26

Overview

Introduction

This tool generates a random hexadecimal (base-16) value with a digit length you choose, in either upper or lowercase.

It's a general-purpose hex generator — useful for example color codes, sample memory addresses, or plain hex test data of any length.

What Is Random Hex Number Generator?

A random hex string generator that independently samples each requested digit from the 16 possible hex characters (0-9, a-f).

Unlike the first digit in the decimal generator, the leading hex digit here can be zero — hex strings commonly display leading zeros (like a 6-digit color code '00ff88').

How Random Hex Number Generator Works

For each requested digit, the tool picks one of the 16 hex characters uniformly at random using Math.random(), and concatenates them into a string.

If uppercase is selected, the finished string is converted to uppercase; otherwise it stays lowercase.

When To Use Random Hex Number Generator

Use it to generate example hex color codes, sample memory-address-like strings, or generic hex test data.

For a value tied to a specific number of bytes with multiple output formats, use Random Byte Generator instead.

Features

Advantages

  • Supports any digit length from 1 to 32, covering short codes up through 128-bit-wide values.
  • Case toggle matches whichever convention your downstream tool or documentation expects.
  • Leading zeros are preserved, matching how hex values are usually displayed.

Limitations

  • Not cryptographically secure — built on Math.random(), unsuitable for generating keys, tokens, or anything security-sensitive.
  • Produces a plain hex string with no structural formatting like dashes or byte grouping.

Examples

A 6-digit lowercase hex value

Input

(no input; generated from settings: digits 6, uppercase off)

Output

3fa9c1

Could be read as a hex color code like #3fa9c1.

An 8-digit uppercase hex value

Input

(no input; generated from settings: digits 8, uppercase on)

Output

0A7F3EC2

Leading zero is preserved since hex commonly displays fixed-width values.

Best Practices & Notes

Best Practices

  • Use 6 digits for hex color code examples, or 8+ for memory-address-style values.
  • Match the case convention (upper vs lowercase) to whatever system will consume the output.

Developer Notes

Each digit is generated independently via Math.floor(Math.random() * 16) rather than by formatting a single sampled integer, which sidesteps precision limits that would otherwise cap output length well below 32 digits.

Random Hex Number Generator Use Cases

  • Generating example hex color codes for a design mockup
  • Producing sample memory-address-like or ID-like hex strings for test data
  • Demonstrating hex number representation in a teaching context

Common Mistakes

  • Using this for security-sensitive identifiers — use UUID Generator or a dedicated token generator instead, since this uses Math.random().
  • Forgetting to add a '#' or '0x' prefix expected by the system consuming the value — this tool outputs the bare hex digits only.

Tips

  • Generate a batch and prepend '#' yourself for a quick set of example color swatches.
  • Use uppercase for values you'll paste into contexts (like some assembly listings) that conventionally use A-F uppercase.

References

Frequently Asked Questions