Best Online CRC Calculators Compared (2026)
Whether you are debugging a Modbus RTU frame, verifying a firmware CRC, or checking a PNG checksum, you need a reliable CRC calculator. But not all online CRC tools are created equal — some only support CRC-32, some process your data on a remote server, and some give wrong results for non-standard polynomial variants. We tested the top online CRC calculators so you don’t have to.
Quick Comparison Table
| Feature | CardWise CRC | Lammert Bies | ip138 | MeTools | EMCU CRC |
|---|---|---|---|---|---|
| Algorithm range | CRC-4 to CRC-64 (30+) | CRC-16/32 (8 types) | CRC-32 only | CRC-4 to CRC-32 (20+) | CRC-8/16/32 (12) |
| Text input | Yes | Yes | Yes | Yes | Yes |
| Hex input | Yes | No | No | Yes | Yes |
| Client-side only | Yes (zero upload) | Yes | No (server) | Unknown | No (server) |
| Modbus CRC-16-IBM | Yes | Yes | No | Yes | Yes |
| CRC-16-CCITT | Yes | Yes | No | Yes | Yes |
| CRC-16-XMODEM | Yes | Yes | No | Yes | Yes |
| CRC-32 (Ethernet/ZIP) | Yes | Yes | Yes | Yes | Yes |
| CRC-32C (Castagnoli) | Yes | No | No | Yes | No |
| Custom polynomial | Yes | No | No | Yes | Yes |
| Real-time calculation | Yes (as-you-type) | No (click button) | No | Yes | No |
| Mobile friendly | Yes | Basic | Yes | Yes | Yes |
| Privacy | Best (no server) | Good (no server) | Poor (server) | Unclear | Poor (server) |
| Price | Free | Free | Free | Free | Free |
1. CardWise CRC Calculator — Most Comprehensive
CardWise (formerly Cupass) offers the widest algorithm coverage of any online CRC tool: CRC-4, CRC-5, CRC-6, CRC-7, CRC-8, CRC-10, CRC-11, CRC-12, CRC-15, CRC-16 (IBM/CCITT/XMODEM/USB/DNP/DECT/Modbus), CRC-24, CRC-31, CRC-32 (ISO-HDLC/MPEG-2/BZIP2/Castagnoli), CRC-40, and CRC-64.
Key advantages for embedded developers:
- Dual input mode — type ASCII text or paste hex bytes (0x notation)
- Real-time results — no button click needed, results update as you type
- Zero data upload — everything runs in your browser via Web Crypto + pure JS
- Custom polynomial — enter any polynomial, init value, and final XOR for proprietary protocols
- Quick reference table — built-in lookup showing polynomial, init, and XOR-out for each variant
2. Lammert Bies CRC Page — The Classic Reference
Lammert Bies’ CRC page has been the go-to reference since the early 2000s. It covers 8 standard CRC-16/32 variants with a simple, no-nonsense interface. The C source code provided is invaluable for implementing CRC in embedded systems.
Pros: Clean interface, C source code for each variant, proven accuracy over decades, client-side processing.
Cons: Limited to 8 algorithms (no CRC-8, no custom polynomial, no Castagnoli), hex-only input not supported, no real-time calculation, and the design is stuck in 2005.
3. ip138 CRC-32 — Quick Chinese Tool
ip138 is a popular Chinese web tools site that offers a basic CRC-32 calculator. It supports only CRC-32 (ISO-HDLC variant) with text input.
Pros: Simple, fast for basic CRC-32 needs.
Cons: CRC-32 only, server-side processing (your data is sent to their server), no hex input, no algorithm selection.
4. MeTools CRC — Wide Algorithm Coverage
MeTools offers 20+ CRC variants from CRC-4 through CRC-32, with both text and hex input support. It also includes custom polynomial configuration.
Pros: Good algorithm variety, hex input, custom polynomial support.
Cons: Chinese-language interface may confuse international users, privacy policy unclear (may process server-side), ads can be intrusive on mobile.
5. EMCU CRC Calculator — Microcontroller Focused
EMCU provides a CRC calculator aimed at microcontroller developers, with common variants like CRC-16-IBM (Modbus), CRC-16-CCITT, and CRC-32.
Pros: Covers most MCU-related CRC variants, hex input supported.
Cons: Server-side processing, no real-time calculation, limited to 12 variants, no CRC-32C or custom polynomial.
Which CRC Calculator Should You Use?
| Use Case | Recommended Tool | Why |
|---|---|---|
| Embedded firmware CRC verification | CardWise CRC | Highest algorithm coverage + hex input + privacy |
| Modbus RTU debugging | CardWise CRC | CRC-16-IBM with hex input for frame payloads |
| Quick CRC-32 check | Lammert Bies or CardWise | Both reliable and client-side |
| Learning CRC internals (C code) | Lammert Bies | Reference C source code for each variant |
| Custom/non-standard CRC | CardWise CRC | Custom polynomial + init + XOR-out |
| Chinese-language users, basic CRC | MeTools or ip138 | Chinese interface, familiar UX |
CRC Variants Quick Reference
Not sure which CRC variant your protocol uses? Here is a quick reference for the most common ones:
| Protocol / Format | CRC Variant | Width | Polynomial |
|---|---|---|---|
| Modbus RTU | CRC-16-IBM | 16 bit | 0x8005 |
| X.25, HDLC, Bluetooth | CRC-16-CCITT | 16 bit | 0x1021 |
| ZMODEM, firmware updates | CRC-16-XMODEM | 16 bit | 0x1021 |
| USB packets | CRC-16-USB | 16 bit | 0x8005 |
| Ethernet, ZIP, PNG | CRC-32 (ISO-HDLC) | 32 bit | 0x04C11DB7 |
| iSCSI, SSE4.2 hardware | CRC-32C (Castagnoli) | 32 bit | 0x1EDC6F41 |
| MPEG-2 streams | CRC-32-MPEG-2 | 32 bit | 0x04C11DB7 |
| BZIP2 archives | CRC-32-BZIP2 | 32 bit | 0x04C11DB7 |
Frequently Asked Questions
Is there a free CRC calculator that doesn’t upload my data?
Yes — CardWise CRC Calculator and Lammert Bies’ CRC page both run entirely in your browser. Your data never leaves your device. Many other online tools send your input to a server for processing, which is a concern for proprietary firmware or sensitive protocol data.
What CRC variants do I need for embedded development?
The most commonly needed variants are: CRC-16-IBM (Modbus RTU), CRC-16-CCITT (X.25, HDLC, Bluetooth), CRC-16-XMODEM (firmware updates), CRC-32 (Ethernet frames, ZIP, PNG), and CRC-32C (iSCSI, storage systems). CardWise covers all of these plus 20+ additional variants including custom polynomials.
Why does my CRC-32 result not match?
The most common reason is using the wrong CRC-32 variant. There are at least 6 different CRC-32 algorithms (ISO-HDLC, Castagnoli, BZIP2, MPEG-2, POSIX, JAMCRC) that produce different results for the same input. Make sure you are using the correct variant for your protocol. The CardWise calculator shows all variants side-by-side so you can compare.
Can I use CRC-32 as a hash function?
No. CRC-32 is an error-detection code, not a cryptographic hash. It is vulnerable to intentional collision attacks — an attacker can easily craft a different input that produces the same CRC-32 value. For data integrity in adversarial settings, use SHA-256 or stronger. CRC is only suitable for detecting accidental (not malicious) data corruption.