RACE Integrity Primitives Evaluation · Bitcoin · 160-bit
RIPEMD-160 is used in Bitcoin address generation alongside SHA-256 (HASH160 = RIPEMD160(SHA256(pubkey))). Developed by Hans Dobbertin et al. in 1996. Client-side reference implementation.
Input text (or hex bytes) box — the hash appears instantly in the RIPEMD hash field below it.RIPEMD-160 or RIPEMD-128 tabs at the top. RIPEMD-160 is selected by default.20 bytes (160 bits) or 16 bytes (128 bits).Copy to put the hash on your clipboard.Clear any time to empty the input and start over.RIPEMD-160 is the second half of HASH160(x) = RIPEMD160(SHA256(x)), the step behind P2PKH, P2SH, and SegWit address generation.
RIPEMD-160 has published test vectors. Confirm your input produces the expected 40-hex-digit digest to validate a library or pipeline.
Switch between the common 160-bit and the rarer 128-bit variant without pulling in separate implementations.
A 160-bit digest is a compact fingerprint for comparing data — the same role it plays in OpenPGP signatures and Bitcoin.
The source is a readable JavaScript reference showing the two parallel lanes, rotation tables, and MD-strengthening padding.
Everything runs in your browser. Nothing is uploaded, logged, or sent to a server — safe for keys and sensitive payloads.
RIPEMD is a family of cryptographic hash functions from the EU's RACE Integrity Primitives Evaluation project in the 1990s. RIPEMD-160, published by Hans Dobbertin, Antoon Bosselaers and Bart Preneel in 1996, is the best-known variant and outputs a 160-bit (20-byte) digest.
Output length, mostly. RIPEMD-160 produces 20 bytes (40 hex characters) while RIPEMD-128 produces 16 bytes (32 hex characters). Internally they differ too: RIPEMD-160 runs five rounds of 16 steps (80 total) versus four rounds (64 steps) for RIPEMD-128.
Bitcoin builds addresses with HASH160(x) = RIPEMD160(SHA256(x)). Hashing a public key through SHA-256 and then RIPEMD-160 shortens it to a compact 160-bit value for P2PKH, P2SH, and SegWit addresses.
No practical collision or preimage attack is known against full RIPEMD-160. It remains adequate for its Bitcoin role, but new designs generally prefer SHA-2, SHA-3, or BLAKE2, which have more analysis and hardware support.
Text is encoded to UTF-8 before hashing, so non-ASCII characters like é or emoji hash as their multi-byte UTF-8 sequences — matching what most language implementations produce.
No. Hashing is one-way and deterministic: the same input always yields the same fixed-length digest, but you can't recover the input from it. It's for integrity and fingerprinting, not hiding data.
No. All hashing runs locally in JavaScript. Your input is not sent to, stored on, or logged by any server.