How to generate a random HEX RGB color code in Rust

1 Answer

0 votes
use std::time::{SystemTime, UNIX_EPOCH};
use rand::{Rng, SeedableRng};
use rand::rngs::StdRng;

fn generate_random_hex_color() -> String {
    let hex_chars = b"0123456789ABCDEF";
    
     // Get the current time in nanoseconds
    let seed = SystemTime::now()
        .duration_since(UNIX_EPOCH)
        .expect("Time went backwards")
        .as_nanos() as u64;
 
    // Create a seeded RNG
    let mut rng = StdRng::seed_from_u64(seed);
    
    let hex: String = (0..6)
        .map(|_| {
            let idx = rng.random_range(0..16);
            hex_chars[idx] as char
        })
        .collect();
    hex
}

fn main() {
    let hex_color = generate_random_hex_color();
    
    println!("Random HEX Color: #{hex_color}");
}



/*
run:

Random HEX Color: #021F83

*/

 



answered Oct 10, 2025 by avibootz
...