CRC24 Calculator

Calculate the CRC-24 checksum of any text and get the 6-character hexadecimal result, using the exact CRC-24/OpenPGP parameters from RFC 4880: the checksum appended to every ASCII-armored PGP/GPG message. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-25

Overview

Introduction

CRC-24 has one dominant real-world use: it's the checksum appended to every ASCII-armored OpenPGP message, signature, and key block, defined precisely in RFC 4880 Appendix B.

This tool computes that exact CRC-24/OpenPGP checksum of any text you provide, entirely client-side, useful for verifying an armor checksum by hand or reproducing the RFC's own worked example.

What Is CRC24 Calculator?

CRC-24 is a 24-bit cyclic redundancy check, a polynomial-division-based checksum for catching accidental transmission errors, shown here as 6 hexadecimal characters.

This tool implements CRC-24/OpenPGP specifically: polynomial 0x1864CFB, initial value 0xB704CE, no reflection, no final XOR, exactly as RFC 4880 defines it for ASCII-armored PGP data.

How CRC24 Calculator Works

Your UTF-8 encoded text is processed one byte at a time through a lookup table built from the 0x1864CFB polynomial, most-significant-bit first, starting from the RFC-specified 0xB704CE initial value rather than zero.

Each byte updates a 24-bit running remainder via table lookup and XOR; the final remainder, with no reflection or additional XOR, is hex-encoded into the 6-character output this tool returns.

When To Use CRC24 Calculator

Use CRC-24 specifically when reproducing or verifying an OpenPGP ASCII-armor checksum line by hand, or implementing/debugging PGP-armor-compatible software.

Don't use CRC-24 for general file integrity or anywhere security matters; like all CRCs it offers no resistance to deliberate tampering, only accidental-error detection.

Features

Advantages

  • Exactly matches a widely deployed real-world standard (OpenPGP armor), so there's no ambiguity about which parameter set to use, unlike CRC-8 where dozens of variants exist.
  • 24-bit output balances overhead against error-detection strength for text-based armored data.
  • Simple, table-driven computation that's fast even for larger pasted PGP-armored blocks.

Limitations

  • Essentially single-purpose: outside OpenPGP armor, CRC-24 sees little other real-world use compared to CRC-16 or CRC-32.
  • Only catches accidental corruption, not deliberate tampering, an attacker who can modify armored data can trivially recompute a matching checksum.
  • This tool checksums raw text you paste in, not an actual binary OpenPGP packet stream, so it won't directly validate a real .asc file's trailer without extracting the right underlying bytes.

Examples

Hashing the standard CRC check string

Input

123456789

Output

21cf02

The official CRC-24/OpenPGP check value for the ASCII string "123456789", the standard sanity-check input used across the reveng CRC catalogue.

Hashing a short greeting

Input

Hello, world!

Output

1bdf82

13 bytes of UTF-8 text reduced to the 6-character CRC-24/OpenPGP checksum.

Best Practices & Notes

Best Practices

  • Use CRC-24 specifically for OpenPGP-armor-related work; for any other checksum need, CRC-16 or CRC-32 are the more commonly expected defaults.
  • Remember this computes a checksum over raw text, not a full OpenPGP binary packet, when comparing against a real .asc file's armor line.
  • Never treat a matching CRC-24 as proof of anything beyond accidental-corruption-free transmission.

Developer Notes

Implemented as a table-driven, non-reflected (MSB-first) CRC using polynomial 0x1864CFB and initial value 0xB704CE, matching RFC 4880 Appendix B exactly. Verified against the official CRC-24/OpenPGP check value (0x21cf02 for the ASCII string "123456789", the standard reveng CRC catalogue sanity check) plus an independently confirmed vector for "Hello, world!".

CRC24 Calculator Use Cases

  • Reproducing an OpenPGP ASCII-armor checksum line by hand while studying RFC 4880
  • Debugging a PGP/GPG-armor-compatible implementation's CRC-24 computation
  • Confirming a CRC-24 implementation matches the standard OpenPGP check value
  • Teaching how ASCII-armored PGP messages self-check for transmission corruption

Common Mistakes

  • Assuming CRC-24 starts from a zero initial value like CRC-32 does; OpenPGP's variant starts from 0xB704CE specifically.
  • Expecting this tool's output to directly match a real .asc file's armor line without accounting for the difference between raw text and the actual OpenPGP binary packet bytes.
  • Treating a matching CRC-24 as any kind of security guarantee rather than accidental-corruption detection.

Tips

  • If you're validating a real PGP-armored file, extract and base64-decode the actual binary packet data before computing CRC-24 over it, not the armored text as displayed.
  • For a general-purpose (non-OpenPGP-specific) checksum, this category's CRC-16 or CRC-32 tools are the more broadly recognized choice.

References

Frequently Asked Questions