Skip to main content
⚡ CRC Calc

⚡ Online CRC Calculator & CRC Lookup Table Generator

Modbus, CCITT, XMODEM 등 표준 CRC 계산, 룩업 테이블(CRC Table) 배열 추출, 소스 코드 및 역산 툴

Engine Active

1. 입력 데이터 (Input Data / Binary File)

Text는 UTF-8 바이트로 변환됩니다.

2. 표준 알고리즘 결과 비교 (Standard CRC Compare)

행을 클릭하면 하단 파라미터 패널에 설정이 반영됩니다.

55 of 55 algorithms
FavoriteAlgorithm / CRC Table StandardWidthPolyResult (Hex)Action
CRC-8 / AUTOSAR8-bit0x2F0xDF
CRC-8 / BLUETOOTH8-bit0xA70x26
CRC-8 / CDMA20008-bit0x9B0xDA
CRC-8 / DARC8-bit0x390x15
CRC-8 / DVB-S28-bit0xD50xBC
CRC-8 / GSM-A8-bit0x1D0x37
CRC-8 / GSM-B8-bit0x490x94
CRC-8 / HITAG8-bit0x1D0xB4
CRC-8 / I-432-18-bit0x070xA1
CRC-8 / I-CODE8-bit0x1D0x7E
CRC-8 / LTE8-bit0x9B0xEA
CRC-8 / MAXIM-DOW8-bit0x310xA1
CRC-8 / MIFARE-MAD8-bit0x1D0x99
CRC-8 / OPENSAFETY8-bit0x2F0x3E
CRC-8 / ROHC8-bit0x070xD0
CRC-8 / SAE-J18508-bit0x1D0x4B
CRC-8 / SMBUS8-bit0x070xF4
CRC-8 / TECH-32508-bit0x1D0x97
CRC-8 / WCDMA8-bit0x9B0x25
CRC-16 / ARC16-bit0x80050xBB3D
CRC-16 / CDMA200016-bit0xC8670x4C06
CRC-16 / CMS16-bit0x80050xAEE7
CRC-16 / DDS-11016-bit0x80050x9ECF
CRC-16 / DECT-R16-bit0x05890x007E
CRC-16 / DECT-X16-bit0x05890x007F
CRC-16 / DNP16-bit0x3D650xEA82
CRC-16 / EN-1375716-bit0x3D650xC2B7
CRC-16 / GENIBUS16-bit0x10210xD64E
CRC-16 / GSM16-bit0x10210xCE3C
CRC-16 / IBM-374016-bit0x10210x29B1
CRC-16 / IBM-SDLC16-bit0x10210x906E
CRC-16 / ISO-IEC-14443-3-A16-bit0x10210xBF05
CRC-16 / KERMIT16-bit0x10210x2189
CRC-16 / MAXIM-DOW16-bit0x80050x44C2
CRC-16 / MCRF4XX16-bit0x10210x6F91
CRC-16 / MODBUS16-bit0x80050x4B37
CRC-16 / OPENSAFETY-A16-bit0x59350x5D38
CRC-16 / OPENSAFETY-B16-bit0x755B0x20FE
CRC-16 / PROFIBUS16-bit0x1DCF0xA819
CRC-16 / T10-DIF16-bit0x8BB70xD0DB
CRC-16 / TELEDISK16-bit0xA0970x0FB3
CRC-16 / UMTS16-bit0x80050xFEE8
CRC-16 / USB16-bit0x80050xB4C8
CRC-16 / XMODEM16-bit0x10210x31C3
CRC-32 / AIXM32-bit0x814141AB0x3010BF7F
CRC-32 / AUTOSAR32-bit0xF4ACFB130x1697D06A
CRC-32 / BZIP232-bit0x04C11DB70xFC891918
CRC-32 / CD-ROM-EDC32-bit0x8001801B0x6EC2EDC4
CRC-32 / CKSUM32-bit0x04C11DB70x765E7680
CRC-32 / ISCSI32-bit0x1EDC6F410xE3069283
CRC-32 / ISO-HDLC32-bit0x04C11DB70xCBF43926
CRC-32 / JAMCRC32-bit0x04C11DB70x340BC6D9
CRC-32 / MEF32-bit0x741B8CD70xD2C22F51
CRC-32 / MPEG-232-bit0x04C11DB70x0376E6E7
CRC-32 / XFER32-bit0x000000AF0xBD0BE338

3. 파라미터 상세 분석 및 커스텀 조작

비트 폭 (Width)
폴리넘얼 (Hex)
초기값 (Init)
최종 XOR (XOR Out)
CRC-16 / MODBUS 결과 (Result)0x4B37

5. CRC 역산 (Force CRC / Patch Finder)

원하는 최종 CRC 값이 나오도록 데이터 뒤에 채워야 할 패치 바이트(2바이트)를 역산합니다.

계산 대기 중...

4. 순수 룩업 테이블 전용 (CRC Lookup Table Generator)

완벽하게 정렬된 순수 CRC 8/16/32 테이블 배열 텍스트입니다.

복사 완료!
0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241, 0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440, 0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40, 0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841, 0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40, 0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41, 0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641, 0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040, 0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240, 0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441, 0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41, 0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840, 0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41, 0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40, 0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640, 0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041, 0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240, 0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441, 0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41, 0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840, 0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41, 0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40, 0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640, 0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041, 0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241, 0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440, 0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40, 0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841, 0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40, 0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41, 0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641, 0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040
Model: CRC-16 / MODBUSCRC Table & Lookup Array

6. 언어별 전체 함수 소스 코드 및 CRC Table (C Source)

CRC-16 / MODBUS
복사 완료!
/* * Model: CRC-16 / MODBUS (16-bit) * Poly: 0x8005, Init: 0xFFFF, XorOut: 0x0000 * CRC Table C Source Code & Lookup Table Generator */ #include <stdint.h> #include <stddef.h> const uint16_t crc_table[256] = { 0x0000, 0xC0C1, 0xC181, 0x0140, 0xC301, 0x03C0, 0x0280, 0xC241, 0xC601, 0x06C0, 0x0780, 0xC741, 0x0500, 0xC5C1, 0xC481, 0x0440, 0xCC01, 0x0CC0, 0x0D80, 0xCD41, 0x0F00, 0xCFC1, 0xCE81, 0x0E40, 0x0A00, 0xCAC1, 0xCB81, 0x0B40, 0xC901, 0x09C0, 0x0880, 0xC841, 0xD801, 0x18C0, 0x1980, 0xD941, 0x1B00, 0xDBC1, 0xDA81, 0x1A40, 0x1E00, 0xDEC1, 0xDF81, 0x1F40, 0xDD01, 0x1DC0, 0x1C80, 0xDC41, 0x1400, 0xD4C1, 0xD581, 0x1540, 0xD701, 0x17C0, 0x1680, 0xD641, 0xD201, 0x12C0, 0x1380, 0xD341, 0x1100, 0xD1C1, 0xD081, 0x1040, 0xF001, 0x30C0, 0x3180, 0xF141, 0x3300, 0xF3C1, 0xF281, 0x3240, 0x3600, 0xF6C1, 0xF781, 0x3740, 0xF501, 0x35C0, 0x3480, 0xF441, 0x3C00, 0xFCC1, 0xFD81, 0x3D40, 0xFF01, 0x3FC0, 0x3E80, 0xFE41, 0xFA01, 0x3AC0, 0x3B80, 0xFB41, 0x3900, 0xF9C1, 0xF881, 0x3840, 0x2800, 0xE8C1, 0xE981, 0x2940, 0xEB01, 0x2BC0, 0x2A80, 0xEA41, 0xEE01, 0x2EC0, 0x2F80, 0xEF41, 0x2D00, 0xEDC1, 0xEC81, 0x2C40, 0xE401, 0x24C0, 0x2580, 0xE541, 0x2700, 0xE7C1, 0xE681, 0x2640, 0x2200, 0xE2C1, 0xE381, 0x2340, 0xE101, 0x21C0, 0x2080, 0xE041, 0xA001, 0x60C0, 0x6180, 0xA141, 0x6300, 0xA3C1, 0xA281, 0x6240, 0x6600, 0xA6C1, 0xA781, 0x6740, 0xA501, 0x65C0, 0x6480, 0xA441, 0x6C00, 0xACC1, 0xAD81, 0x6D40, 0xAF01, 0x6FC0, 0x6E80, 0xAE41, 0xAA01, 0x6AC0, 0x6B80, 0xAB41, 0x6900, 0xA9C1, 0xA881, 0x6840, 0x7800, 0xB8C1, 0xB981, 0x7940, 0xBB01, 0x7BC0, 0x7A80, 0xBA41, 0xBE01, 0x7EC0, 0x7F80, 0xBF41, 0x7D00, 0xBDC1, 0xBC81, 0x7C40, 0xB401, 0x74C0, 0x7580, 0xB541, 0x7700, 0xB7C1, 0xB681, 0x7640, 0x7200, 0xB2C1, 0xB381, 0x7340, 0xB101, 0x71C0, 0x7080, 0xB041, 0x5000, 0x90C1, 0x9181, 0x5140, 0x9301, 0x53C0, 0x5280, 0x9241, 0x9601, 0x56C0, 0x5780, 0x9741, 0x5500, 0x95C1, 0x9481, 0x5440, 0x9C01, 0x5CC0, 0x5D80, 0x9D41, 0x5F00, 0x9FC1, 0x9E81, 0x5E40, 0x5A00, 0x9AC1, 0x9B81, 0x5B40, 0x9901, 0x59C0, 0x5880, 0x9841, 0x8801, 0x48C0, 0x4980, 0x8941, 0x4B00, 0x8BC1, 0x8A81, 0x4A40, 0x4E00, 0x8EC1, 0x8F81, 0x4F40, 0x8D01, 0x4DC0, 0x4C80, 0x8C41, 0x4400, 0x84C1, 0x8581, 0x4540, 0x8701, 0x47C0, 0x4680, 0x8641, 0x8201, 0x42C0, 0x4380, 0x8341, 0x4100, 0x81C1, 0x8081, 0x4040 }; uint16_t calculate_crc(const uint8_t *data, size_t length) { uint16_t crc = 0xFFFF; for (size_t i = 0; i < length; i++) { #if 1 uint8_t idx = (uint8_t)(crc ^ data[i]); crc = (crc >> 8) ^ crc_table[idx]; #else uint8_t idx = (uint8_t)((crc >> 8) ^ data[i]); crc = (crc << 8) ^ crc_table[idx]; #endif } return crc ^ 0x0000; }

Online CRC Calculator and CRC Lookup Table Generator

This free online CRC calculator computes CRC-8, CRC-16, and CRC-32 checksums from UTF-8 text, hexadecimal, decimal-byte, binary-bit, Base64 input, or binary files. You can select common preset algorithms such as CRC-16/MODBUS, CRC-16/CCITT-FALSE, CRC-16/XMODEM, CRC-16/KERMIT, and CRC-32/ISO-HDLC, or define custom CRC parameters for your own protocol.

The calculator also generates CRC lookup tables and complete source code for C, Python, and JavaScript. All calculations are performed locally in your browser, so uploaded files and input data are not sent to a server.

Supported CRC parameters

Custom CRC calculations can be configured using width, polynomial, initial value, input reflection, output reflection, and final XOR value. These parameters allow the calculator to reproduce many standard and proprietary CRC implementations used in embedded systems, serial communication, industrial protocols, file formats, and network applications.

Width
Defines the CRC register size, such as 8, 16, or 32 bits.
Polynomial
Specifies the generator polynomial used by the CRC algorithm.
Initial value
Sets the value loaded into the CRC register before processing data.
RefIn and RefOut
Control whether input bytes and the final CRC result are reflected.
Final XOR value
Applies a final XOR operation to the CRC register before displaying the checksum.

CRC-8, CRC-16, and CRC-32

CRC-8 produces an 8-bit checksum and is commonly used in compact embedded and sensor protocols. CRC-16 produces a 16-bit checksum and is widely used by protocols such as Modbus, XMODEM, and CCITT-based communication systems. CRC-32 produces a 32-bit checksum and provides stronger error detection for larger files, archives, Ethernet frames, and storage formats.

CRC lookup table and source code generator

A CRC lookup table replaces repeated bit-by-bit polynomial operations with precomputed values. This can significantly improve checksum performance in firmware, embedded software, and high-throughput applications. The generated table and function code can be copied directly into C, Python, or JavaScript projects and adapted as needed.

Frequently asked questions

What is a CRC checksum?

A cyclic redundancy check, or CRC, is an error-detection method used to identify accidental changes in transmitted or stored data. The sender calculates a CRC value, and the receiver calculates it again to verify that the data has not been corrupted.

Which CRC algorithm should I use?

Use the algorithm required by your protocol or file format. For example, Modbus commonly uses CRC-16/MODBUS, while other systems may require CCITT-FALSE, XMODEM, KERMIT, CRC-32, or a custom parameter set.

Why do CRC calculators sometimes return different results?

CRC results depend on more than the polynomial. Width, initial value, input reflection, output reflection, final XOR value, input encoding, and byte order must all match. A difference in any one of these settings can produce a different checksum.

Can I calculate the CRC of a binary file?

Yes. Select the file input option and choose a binary file. The calculator reads the file as bytes and computes the selected CRC directly in your browser.

Are uploaded files sent to a server?

No. CRC calculations and file processing are performed locally in the browser. Your files and input data are not uploaded to the website server.

What is the standard CRC check value for 123456789?

The ASCII string 123456789 is commonly used as a standard CRC test input. The expected result depends on the selected algorithm. For example, CRC-32/ISO-HDLC produces 0xCBF43926, while CRC-16/MODBUS produces 0x4B37.