Skip to main content
CRC Calc

CRC-8 / TECH-3250

Width8-bitRefInYesRefOutYes

Need custom parameters? Open in full calculator

Standard test string

Result

0x97

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

0x000x640xC80xAC0xE10x850x290x4D0xB30xD70x7B0x1F0x520x360x9A0xFE
0x170x730xDF0xBB0xF60x920x3E0x5A0xA40xC00x6C0x080x450x210x8D0xE9
0x2E0x4A0xE60x820xCF0xAB0x070x630x9D0xF90x550x310x7C0x180xB40xD0
0x390x5D0xF10x950xD80xBC0x100x740x8A0xEE0x420x260x6B0x0F0xA30xC7
0x5C0x380x940xF00xBD0xD90x750x110xEF0x8B0x270x430x0E0x6A0xC60xA2
0x4B0x2F0x830xE70xAA0xCE0x620x060xF80x9C0x300x540x190x7D0xD10xB5
0x720x160xBA0xDE0x930xF70x5B0x3F0xC10xA50x090x6D0x200x440xE80x8C
0x650x010xAD0xC90x840xE00x4C0x280xD60xB20x1E0x7A0x370x530xFF0x9B
0xB80xDC0x700x140x590x3D0x910xF50x0B0x6F0xC30xA70xEA0x8E0x220x46
0xAF0xCB0x670x030x4E0x2A0x860xE20x1C0x780xD40xB00xFD0x990x350x51
0x960xF20x5E0x3A0x770x130xBF0xDB0x250x410xED0x890xC40xA00x0C0x68
0x810xE50x490x2D0x600x040xA80xCC0x320x560xFA0x9E0xD30xB70x1B0x7F
0xE40x800x2C0x480x050x610xCD0xA90x570x330x9F0xFB0xB60xD20x7E0x1A
0xF30x970x3B0x5F0x120x760xDA0xBE0x400x240x880xEC0xA10xC50x690x0D
0xCA0xAE0x020x660x2B0x4F0xE30x870x790x1D0xB10xD50x980xFC0x500x34
0xDD0xB90x150x710x3C0x580xF40x900x6E0x0A0xA60xC20x8F0xEB0x470x23

CRC Source Code

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

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

uint8_t calculate_crc(const uint8_t *data, size_t length) {
    uint8_t crc = 0xFF;
    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/TECH-3250

CRC-8/TECH-3250 is associated with professional digital audio data formats.

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

Documented application context for this model includes AES/EBU, Digital audio, Broadcast systems. 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
0x97
Residue
0x00

Model characteristics

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

Bit order
Reflected
Register start
0xFF
Final XOR
0x00
Published check
0x97

Implementation checks for CRC-8/TECH-3250

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

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

Complete CRC-8/TECH-3250 parameters

CRC parameter guide
ParameterValueMeaningReference
Width8 bitsCRC register and result widthRead guide
Poly0x1DGenerator polynomial without the leading termRead guide
Init0xFFInitial 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
Check0x97CRC of ASCII “123456789”Read guide
Residue0x00Expected residue after appending a valid CRCRead guide
AliasesAES/EBU CRC-8

Where CRC-8/TECH-3250 is used

  • 01AES/EBU
  • 02Digital audio
  • 03Broadcast systems

CRC-8/TECH-3250 FAQ

What is the check value for CRC-8/TECH-3250?

For the standard ASCII test input 123456789, the check value of CRC-8/TECH-3250 is 0x97.

What polynomial does CRC-8/TECH-3250 use?

CRC-8/TECH-3250 uses the 8-bit polynomial 0x1D.

Does CRC-8/TECH-3250 use reflected input and output?

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

What is CRC-8/TECH-3250 commonly confused with?

CRC-8/HITAG uses the same polynomial (0x1D), which is the usual source of mix-ups — matching the polynomial alone does not reproduce CRC-8/TECH-3250. The two models differ in input reflection and output reflection, so a port from one to the other needs those fields checked explicitly, not just the poly.