Skip to main content
CRC Calc

CRC-8 / BLUETOOTH

Width8-bitRefInYesRefOutYes

Need custom parameters? Open in full calculator

Standard test string

Result

0x26

Similar CRC Algorithms

Result is calculated from the current input. Check is the published verification value for the standard input 123456789. Click another algorithm to view its detail page.

CRC Lookup Table

0x000x6B0xD60xBD0x670x0C0xB10xDA0xCE0xA50x180x730xA90xC20x7F0x14
0x570x3C0x810xEA0x300x5B0xE60x8D0x990xF20x4F0x240xFE0x950x280x43
0xAE0xC50x780x130xC90xA20x1F0x740x600x0B0xB60xDD0x070x6C0xD10xBA
0xF90x920x2F0x440x9E0xF50x480x230x370x5C0xE10x8A0x500x3B0x860xED
0x970xFC0x410x2A0xF00x9B0x260x4D0x590x320x8F0xE40x3E0x550xE80x83
0xC00xAB0x160x7D0xA70xCC0x710x1A0x0E0x650xD80xB30x690x020xBF0xD4
0x390x520xEF0x840x5E0x350x880xE30xF70x9C0x210x4A0x900xFB0x460x2D
0x6E0x050xB80xD30x090x620xDF0xB40xA00xCB0x760x1D0xC70xAC0x110x7A
0xE50x8E0x330x580x820xE90x540x3F0x2B0x400xFD0x960x4C0x270x9A0xF1
0xB20xD90x640x0F0xD50xBE0x030x680x7C0x170xAA0xC10x1B0x700xCD0xA6
0x4B0x200x9D0xF60x2C0x470xFA0x910x850xEE0x530x380xE20x890x340x5F
0x1C0x770xCA0xA10x7B0x100xAD0xC60xD20xB90x040x6F0xB50xDE0x630x08
0x720x190xA40xCF0x150x7E0xC30xA80xBC0xD70x6A0x010xDB0xB00x0D0x66
0x250x4E0xF30x980x420x290x940xFF0xEB0x800x3D0x560x8C0xE70x5A0x31
0xDC0xB70x0A0x610xBB0xD00x6D0x060x120x790xC40xAF0x750x1E0xA30xC8
0x8B0xE00x5D0x360xEC0x870x3A0x510x450x2E0x930xF80x220x490xF40x9F

CRC Source Code

/* 
 * Model: CRC-8 / BLUETOOTH (8-bit)
 * Poly: 0xA7, Init: 0x00, XorOut: 0x00
 * CRC Table C Source Code & Lookup Table Generator
 */
#include <stdint.h>
#include <stddef.h>

const uint8_t crc_table[256] = {
  0x00, 0x6B, 0xD6, 0xBD, 0x67, 0x0C, 0xB1, 0xDA, 
  0xCE, 0xA5, 0x18, 0x73, 0xA9, 0xC2, 0x7F, 0x14, 
  0x57, 0x3C, 0x81, 0xEA, 0x30, 0x5B, 0xE6, 0x8D, 
  0x99, 0xF2, 0x4F, 0x24, 0xFE, 0x95, 0x28, 0x43, 
  0xAE, 0xC5, 0x78, 0x13, 0xC9, 0xA2, 0x1F, 0x74, 
  0x60, 0x0B, 0xB6, 0xDD, 0x07, 0x6C, 0xD1, 0xBA, 
  0xF9, 0x92, 0x2F, 0x44, 0x9E, 0xF5, 0x48, 0x23, 
  0x37, 0x5C, 0xE1, 0x8A, 0x50, 0x3B, 0x86, 0xED, 
  0x97, 0xFC, 0x41, 0x2A, 0xF0, 0x9B, 0x26, 0x4D, 
  0x59, 0x32, 0x8F, 0xE4, 0x3E, 0x55, 0xE8, 0x83, 
  0xC0, 0xAB, 0x16, 0x7D, 0xA7, 0xCC, 0x71, 0x1A, 
  0x0E, 0x65, 0xD8, 0xB3, 0x69, 0x02, 0xBF, 0xD4, 
  0x39, 0x52, 0xEF, 0x84, 0x5E, 0x35, 0x88, 0xE3, 
  0xF7, 0x9C, 0x21, 0x4A, 0x90, 0xFB, 0x46, 0x2D, 
  0x6E, 0x05, 0xB8, 0xD3, 0x09, 0x62, 0xDF, 0xB4, 
  0xA0, 0xCB, 0x76, 0x1D, 0xC7, 0xAC, 0x11, 0x7A, 
  0xE5, 0x8E, 0x33, 0x58, 0x82, 0xE9, 0x54, 0x3F, 
  0x2B, 0x40, 0xFD, 0x96, 0x4C, 0x27, 0x9A, 0xF1, 
  0xB2, 0xD9, 0x64, 0x0F, 0xD5, 0xBE, 0x03, 0x68, 
  0x7C, 0x17, 0xAA, 0xC1, 0x1B, 0x70, 0xCD, 0xA6, 
  0x4B, 0x20, 0x9D, 0xF6, 0x2C, 0x47, 0xFA, 0x91, 
  0x85, 0xEE, 0x53, 0x38, 0xE2, 0x89, 0x34, 0x5F, 
  0x1C, 0x77, 0xCA, 0xA1, 0x7B, 0x10, 0xAD, 0xC6, 
  0xD2, 0xB9, 0x04, 0x6F, 0xB5, 0xDE, 0x63, 0x08, 
  0x72, 0x19, 0xA4, 0xCF, 0x15, 0x7E, 0xC3, 0xA8, 
  0xBC, 0xD7, 0x6A, 0x01, 0xDB, 0xB0, 0x0D, 0x66, 
  0x25, 0x4E, 0xF3, 0x98, 0x42, 0x29, 0x94, 0xFF, 
  0xEB, 0x80, 0x3D, 0x56, 0x8C, 0xE7, 0x5A, 0x31, 
  0xDC, 0xB7, 0x0A, 0x61, 0xBB, 0xD0, 0x6D, 0x06, 
  0x12, 0x79, 0xC4, 0xAF, 0x75, 0x1E, 0xA3, 0xC8, 
  0x8B, 0xE0, 0x5D, 0x36, 0xEC, 0x87, 0x3A, 0x51, 
  0x45, 0x2E, 0x93, 0xF8, 0x22, 0x49, 0xF4, 0x9F
};

uint8_t calculate_crc(const uint8_t *data, size_t length) {
    uint8_t crc = 0x00;
    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 >> 0) ^ data[i]);
        crc = (crc << 8) ^ crc_table[idx];
        #endif
    }
    return crc ^ 0x00;
}

About CRC-8/BLUETOOTH

CRC-8/BLUETOOTH is a reflected 8-bit CRC associated with Bluetooth protocol data.

CRC-8/BLUETOOTH is a 8-bit CRC model defined by polynomial 0xA7, an initial register value of 0x00, and final XOR 0x00. It processes reflected input bytes and reports a reflected output.

Documented application context for this model includes Bluetooth, Wireless devices, Protocol testing. The calculator above applies this exact parameter set to the current input; the published Check value below is instead the fixed verification result for ASCII 123456789.

Standard test vector

CRC implementations are commonly verified with the ASCII input 123456789.

Input format
ASCII
Input
123456789
Expected CRC
0x26
Residue
0x00

Model characteristics

A model is identified by its complete parameter set, not its polynomial alone.

Bit order
Reflected
Register start
0x00
Final XOR
0x00
Published check
0x26

Implementation checks for CRC-8/BLUETOOTH

  • Use a 8-bit register and polynomial 0xA7.
  • Initialize the register to 0x00 and use XorOut 0x00 exactly as listed; changing either value defines a different model.
  • Verify the implementation with ASCII “123456789”; the expected result is 0x26.

Continue with the main calculator, browse the algorithm catalog, compare models in the Algorithm Reference section, or generate a lookup table.

Complete CRC-8/BLUETOOTH parameters

CRC parameter guide
ParameterValueMeaningReference
Width8 bitsCRC register and result widthRead guide
Poly0xA7Generator polynomial without the leading termRead guide
Init0x00Initial CRC register valueRead guide
RefInYesReflect each input byte before processingRead guide
RefOutYesReflect the register before XOR OutRead guide
XorOut0x00Final value XORed with the CRC registerRead guide
Check0x26CRC of ASCII “123456789”Read guide
Residue0x00Expected residue after appending a valid CRCRead guide
AliasesBluetooth CRC-8

Where CRC-8/BLUETOOTH is used

  • 01Bluetooth
  • 02Wireless devices
  • 03Protocol testing

CRC-8/BLUETOOTH FAQ

What is the check value for CRC-8/BLUETOOTH?

For the standard ASCII test input 123456789, the check value of CRC-8/BLUETOOTH is 0x26.

What polynomial does CRC-8/BLUETOOTH use?

CRC-8/BLUETOOTH uses the 8-bit polynomial 0xA7.

Does CRC-8/BLUETOOTH use reflected input and output?

For CRC-8/BLUETOOTH, RefIn is Yes and RefOut is Yes.

What is CRC-8/BLUETOOTH commonly confused with?

The closest published model by parameter overlap is CRC-8/DARC, differing from CRC-8/BLUETOOTH in polynomial.