Skip to main content
CRC Calc

CRC-64 / XZ

Width64-bitRefInYesRefOutYes

Need custom parameters? Open in full calculator

Standard test string

Result

0x995DC9BBDF1939FA

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

0x00000000000000000xB32E4CBE03A75F6F0xF4843657A840A05B0x47AA7AE9ABE7FF340x7BD0C384FF8F5E330xC8FE8F3AFC28015C0x8F54F5D357CFFE680x3C7AB96D5468A1070xF7A18709FF1EBC660x448FCBB7FCB9E3090x0325B15E575E1C3D0xB00BFDE054F943520x8C71448D0091E2550x3F5F08330336BD3A0x78F572DAA8D1420E0xCBDB3E64AB761D61
0x7D9BA138513366490xCEB5ED86529439260x891F976FF973C6120x3A31DBD1FAD4997D0x064B62BCAEBC387A0xB5652E02AD1B67150xF2CF54EB06FC98210x41E11855055BC74E0x8A3A2631AE2DDA2F0x39146A8FAD8A85400x7EBE1066066D7A740xCD905CD805CA251B0xF1EAE5B551A2841C0x42C4A90B5205DB730x056ED3E2F9E224470xB6409F5CFA457B28
0xFB374270A266CC920x48190ECEA1C193FD0x0FB374270A266CC90xBC9D3899098133A60x80E781F45DE992A10x33C9CD4A5E4ECDCE0x7463B7A3F5A932FA0xC74DFB1DF60E6D950x0C96C5795D7870F40xBFB889C75EDF2F9B0xF812F32EF538D0AF0x4B3CBF90F69F8FC00x774606FDA2F72EC70xC4684A43A15071A80x83C230AA0AB78E9C0x30EC7C140910D1F3
0x86ACE348F355AADB0x3582AFF6F0F2F5B40x7228D51F5B150A800xC10699A158B255EF0xFD7C20CC0CDAF4E80x4E526C720F7DAB870x09F8169BA49A54B30xBAD65A25A73D0BDC0x710D64410C4B16BD0xC22328FF0FEC49D20x85895216A40BB6E60x36A71EA8A7ACE9890x0ADDA7C5F3C4488E0xB9F3EB7BF06317E10xFE5991925B84E8D50x4D77DD2C5823B7BA
0x64B62BCAEBC387A10xD7986774E864D8CE0x90321D9D438327FA0x231C5123402478950x1F66E84E144CD9920xAC48A4F017EB86FD0xEBE2DE19BC0C79C90x58CC92A7BFAB26A60x9317ACC314DD3BC70x2039E07D177A64A80x67939A94BC9D9B9C0xD4BDD62ABF3AC4F30xE8C76F47EB5265F40x5BE923F9E8F53A9B0x1C4359104312C5AF0xAF6D15AE40B59AC0
0x192D8AF2BAF0E1E80xAA03C64CB957BE870xEDA9BCA512B041B30x5E87F01B11171EDC0x62FD4976457FBFDB0xD1D305C846D8E0B40x96797F21ED3F1F800x2557339FEE9840EF0xEE8C0DFB45EE5D8E0x5DA24145464902E10x1A083BACEDAEFDD50xA9267712EE09A2BA0x955CCE7FBA6103BD0x267282C1B9C65CD20x61D8F8281221A3E60xD2F6B4961186FC89
0x9F8169BA49A54B330x2CAF25044A02145C0x6B055FEDE1E5EB680xD82B1353E242B4070xE451AA3EB62A15000x577FE680B58D4A6F0x10D59C691E6AB55B0xA3FBD0D71DCDEA340x6820EEB3B6BBF7550xDB0EA20DB51CA83A0x9CA4D8E41EFB570E0x2F8A945A1D5C08610x13F02D374934A9660xA0DE61894A93F6090xE7741B60E174093D0x545A57DEE2D35652
0xE21AC88218962D7A0x5134843C1B3172150x169EFED5B0D68D210xA5B0B26BB371D24E0x99CA0B06E71973490x2AE447B8E4BE2C260x6D4E3D514F59D3120xDE6071EF4CFE8C7D0x15BB4F8BE788911C0xA6950335E42FCE730xE13F79DC4FC831470x521135624C6F6E280x6E6B8C0F1807CF2F0xDD45C0B11BA090400x9AEFBA58B0476F740x29C1F6E6B3E0301B
0xC96C5795D7870F420x7A421B2BD420502D0x3DE861C27FC7AF190x8EC62D7C7C60F0760xB2BC9411280851710x0192D8AF2BAF0E1E0x4638A2468048F12A0xF516EEF883EFAE450x3ECDD09C2899B3240x8DE39C222B3EEC4B0xCA49E6CB80D9137F0x7967AA75837E4C100x451D1318D716ED170xF6335FA6D4B1B2780xB199254F7F564D4C0x02B769F17CF11223
0xB4F7F6AD86B4690B0x07D9BA13851336640x4073C0FA2EF4C9500xF35D8C442D53963F0xCF273529793B37380x7C0979977A9C68570x3BA3037ED17B97630x888D4FC0D2DCC80C0x435671A479AAD56D0xF0783D1A7A0D8A020xB7D247F3D1EA75360x04FC0B4DD24D2A590x3886B22086258B5E0x8BA8FE9E8582D4310xCC0284772E652B050x7F2CC8C92DC2746A
0x325B15E575E1C3D00x8175595B76469CBF0xC6DF23B2DDA1638B0x75F16F0CDE063CE40x498BD6618A6E9DE30xFAA59ADF89C9C28C0xBD0FE036222E3DB80x0E21AC88218962D70xC5FA92EC8AFF7FB60x76D4DE52895820D90x317EA4BB22BFDFED0x8250E805211880820xBE2A5168757021850x0D041DD676D77EEA0x4AAE673FDD3081DE0xF9802B81DE97DEB1
0x4FC0B4DD24D2A5990xFCEEF8632775FAF60xBB44828A8C9205C20x086ACE348F355AAD0x34107759DB5DFBAA0x873E3BE7D8FAA4C50xC094410E731D5BF10x73BA0DB070BA049E0xB86133D4DBCC19FF0x0B4F7F6AD86B46900x4CE50583738CB9A40xFFCB493D702BE6CB0xC3B1F050244347CC0x709FBCEE27E418A30x3735C6078C03E7970x841B8AB98FA4B8F8
0xADDA7C5F3C4488E30x1EF430E13FE3D78C0x595E4A08940428B80xEA7006B697A377D70xD60ABFDBC3CBD6D00x6524F365C06C89BF0x228E898C6B8B768B0x91A0C532682C29E40x5A7BFB56C35A34850xE955B7E8C0FD6BEA0xAEFFCD016B1A94DE0x1DD181BF68BDCBB10x21AB38D23CD56AB60x9285746C3F7235D90xD52F0E859495CAED0x6601423B97329582
0xD041DD676D77EEAA0x636F91D96ED0B1C50x24C5EB30C5374EF10x97EBA78EC690119E0xAB911EE392F8B0990x18BF525D915FEFF60x5F1528B43AB810C20xEC3B640A391F4FAD0x27E05A6E926952CC0x94CE16D091CE0DA30xD3646C393A29F2970x604A2087398EADF80x5C3099EA6DE60CFF0xEF1ED5546E4153900xA8B4AFBDC5A6ACA40x1B9AE303C601F3CB
0x56ED3E2F9E2244710xE5C372919D851B1E0xA26908783662E42A0x114744C635C5BB450x2D3DFDAB61AD1A420x9E13B115620A452D0xD9B9CBFCC9EDBA190x6A978742CA4AE5760xA14CB926613CF8170x1262F598629BA7780x55C88F71C97C584C0xE6E6C3CFCADB07230xDA9C7AA29EB3A6240x69B2361C9D14F94B0x2E184CF536F3067F0x9D36004B35545910
0x2B769F17CF1122380x9858D3A9CCB67D570xDFF2A940675182630x6CDCE5FE64F6DD0C0x50A65C93309E7C0B0xE388102D333923640xA4226AC498DEDC500x170C267A9B79833F0xDCD7181E300F9E5E0x6FF954A033A8C1310x28532E49984F3E050x9B7D62F79BE8616A0xA707DB9ACF80C06D0x14299724CC279F020x5383EDCD67C060360xE0ADA17364673F59

CRC Source Code

/* 
 * Model: CRC-64 / XZ (64-bit)
 * Poly: 0x42F0E1EBA9EA3693, Init: 0xFFFFFFFFFFFFFFFF, XorOut: 0xFFFFFFFFFFFFFFFF
 * CRC Table C Source Code & Lookup Table Generator
 */
#include <stdint.h>
#include <stddef.h>

const uint64_t crc_table[256] = {
  0x0000000000000000, 0xB32E4CBE03A75F6F, 0xF4843657A840A05B, 0x47AA7AE9ABE7FF34, 0x7BD0C384FF8F5E33, 0xC8FE8F3AFC28015C, 0x8F54F5D357CFFE68, 0x3C7AB96D5468A107, 
  0xF7A18709FF1EBC66, 0x448FCBB7FCB9E309, 0x0325B15E575E1C3D, 0xB00BFDE054F94352, 0x8C71448D0091E255, 0x3F5F08330336BD3A, 0x78F572DAA8D1420E, 0xCBDB3E64AB761D61, 
  0x7D9BA13851336649, 0xCEB5ED8652943926, 0x891F976FF973C612, 0x3A31DBD1FAD4997D, 0x064B62BCAEBC387A, 0xB5652E02AD1B6715, 0xF2CF54EB06FC9821, 0x41E11855055BC74E, 
  0x8A3A2631AE2DDA2F, 0x39146A8FAD8A8540, 0x7EBE1066066D7A74, 0xCD905CD805CA251B, 0xF1EAE5B551A2841C, 0x42C4A90B5205DB73, 0x056ED3E2F9E22447, 0xB6409F5CFA457B28, 
  0xFB374270A266CC92, 0x48190ECEA1C193FD, 0x0FB374270A266CC9, 0xBC9D3899098133A6, 0x80E781F45DE992A1, 0x33C9CD4A5E4ECDCE, 0x7463B7A3F5A932FA, 0xC74DFB1DF60E6D95, 
  0x0C96C5795D7870F4, 0xBFB889C75EDF2F9B, 0xF812F32EF538D0AF, 0x4B3CBF90F69F8FC0, 0x774606FDA2F72EC7, 0xC4684A43A15071A8, 0x83C230AA0AB78E9C, 0x30EC7C140910D1F3, 
  0x86ACE348F355AADB, 0x3582AFF6F0F2F5B4, 0x7228D51F5B150A80, 0xC10699A158B255EF, 0xFD7C20CC0CDAF4E8, 0x4E526C720F7DAB87, 0x09F8169BA49A54B3, 0xBAD65A25A73D0BDC, 
  0x710D64410C4B16BD, 0xC22328FF0FEC49D2, 0x85895216A40BB6E6, 0x36A71EA8A7ACE989, 0x0ADDA7C5F3C4488E, 0xB9F3EB7BF06317E1, 0xFE5991925B84E8D5, 0x4D77DD2C5823B7BA, 
  0x64B62BCAEBC387A1, 0xD7986774E864D8CE, 0x90321D9D438327FA, 0x231C512340247895, 0x1F66E84E144CD992, 0xAC48A4F017EB86FD, 0xEBE2DE19BC0C79C9, 0x58CC92A7BFAB26A6, 
  0x9317ACC314DD3BC7, 0x2039E07D177A64A8, 0x67939A94BC9D9B9C, 0xD4BDD62ABF3AC4F3, 0xE8C76F47EB5265F4, 0x5BE923F9E8F53A9B, 0x1C4359104312C5AF, 0xAF6D15AE40B59AC0, 
  0x192D8AF2BAF0E1E8, 0xAA03C64CB957BE87, 0xEDA9BCA512B041B3, 0x5E87F01B11171EDC, 0x62FD4976457FBFDB, 0xD1D305C846D8E0B4, 0x96797F21ED3F1F80, 0x2557339FEE9840EF, 
  0xEE8C0DFB45EE5D8E, 0x5DA24145464902E1, 0x1A083BACEDAEFDD5, 0xA9267712EE09A2BA, 0x955CCE7FBA6103BD, 0x267282C1B9C65CD2, 0x61D8F8281221A3E6, 0xD2F6B4961186FC89, 
  0x9F8169BA49A54B33, 0x2CAF25044A02145C, 0x6B055FEDE1E5EB68, 0xD82B1353E242B407, 0xE451AA3EB62A1500, 0x577FE680B58D4A6F, 0x10D59C691E6AB55B, 0xA3FBD0D71DCDEA34, 
  0x6820EEB3B6BBF755, 0xDB0EA20DB51CA83A, 0x9CA4D8E41EFB570E, 0x2F8A945A1D5C0861, 0x13F02D374934A966, 0xA0DE61894A93F609, 0xE7741B60E174093D, 0x545A57DEE2D35652, 
  0xE21AC88218962D7A, 0x5134843C1B317215, 0x169EFED5B0D68D21, 0xA5B0B26BB371D24E, 0x99CA0B06E7197349, 0x2AE447B8E4BE2C26, 0x6D4E3D514F59D312, 0xDE6071EF4CFE8C7D, 
  0x15BB4F8BE788911C, 0xA6950335E42FCE73, 0xE13F79DC4FC83147, 0x521135624C6F6E28, 0x6E6B8C0F1807CF2F, 0xDD45C0B11BA09040, 0x9AEFBA58B0476F74, 0x29C1F6E6B3E0301B, 
  0xC96C5795D7870F42, 0x7A421B2BD420502D, 0x3DE861C27FC7AF19, 0x8EC62D7C7C60F076, 0xB2BC941128085171, 0x0192D8AF2BAF0E1E, 0x4638A2468048F12A, 0xF516EEF883EFAE45, 
  0x3ECDD09C2899B324, 0x8DE39C222B3EEC4B, 0xCA49E6CB80D9137F, 0x7967AA75837E4C10, 0x451D1318D716ED17, 0xF6335FA6D4B1B278, 0xB199254F7F564D4C, 0x02B769F17CF11223, 
  0xB4F7F6AD86B4690B, 0x07D9BA1385133664, 0x4073C0FA2EF4C950, 0xF35D8C442D53963F, 0xCF273529793B3738, 0x7C0979977A9C6857, 0x3BA3037ED17B9763, 0x888D4FC0D2DCC80C, 
  0x435671A479AAD56D, 0xF0783D1A7A0D8A02, 0xB7D247F3D1EA7536, 0x04FC0B4DD24D2A59, 0x3886B22086258B5E, 0x8BA8FE9E8582D431, 0xCC0284772E652B05, 0x7F2CC8C92DC2746A, 
  0x325B15E575E1C3D0, 0x8175595B76469CBF, 0xC6DF23B2DDA1638B, 0x75F16F0CDE063CE4, 0x498BD6618A6E9DE3, 0xFAA59ADF89C9C28C, 0xBD0FE036222E3DB8, 0x0E21AC88218962D7, 
  0xC5FA92EC8AFF7FB6, 0x76D4DE52895820D9, 0x317EA4BB22BFDFED, 0x8250E80521188082, 0xBE2A516875702185, 0x0D041DD676D77EEA, 0x4AAE673FDD3081DE, 0xF9802B81DE97DEB1, 
  0x4FC0B4DD24D2A599, 0xFCEEF8632775FAF6, 0xBB44828A8C9205C2, 0x086ACE348F355AAD, 0x34107759DB5DFBAA, 0x873E3BE7D8FAA4C5, 0xC094410E731D5BF1, 0x73BA0DB070BA049E, 
  0xB86133D4DBCC19FF, 0x0B4F7F6AD86B4690, 0x4CE50583738CB9A4, 0xFFCB493D702BE6CB, 0xC3B1F050244347CC, 0x709FBCEE27E418A3, 0x3735C6078C03E797, 0x841B8AB98FA4B8F8, 
  0xADDA7C5F3C4488E3, 0x1EF430E13FE3D78C, 0x595E4A08940428B8, 0xEA7006B697A377D7, 0xD60ABFDBC3CBD6D0, 0x6524F365C06C89BF, 0x228E898C6B8B768B, 0x91A0C532682C29E4, 
  0x5A7BFB56C35A3485, 0xE955B7E8C0FD6BEA, 0xAEFFCD016B1A94DE, 0x1DD181BF68BDCBB1, 0x21AB38D23CD56AB6, 0x9285746C3F7235D9, 0xD52F0E859495CAED, 0x6601423B97329582, 
  0xD041DD676D77EEAA, 0x636F91D96ED0B1C5, 0x24C5EB30C5374EF1, 0x97EBA78EC690119E, 0xAB911EE392F8B099, 0x18BF525D915FEFF6, 0x5F1528B43AB810C2, 0xEC3B640A391F4FAD, 
  0x27E05A6E926952CC, 0x94CE16D091CE0DA3, 0xD3646C393A29F297, 0x604A2087398EADF8, 0x5C3099EA6DE60CFF, 0xEF1ED5546E415390, 0xA8B4AFBDC5A6ACA4, 0x1B9AE303C601F3CB, 
  0x56ED3E2F9E224471, 0xE5C372919D851B1E, 0xA26908783662E42A, 0x114744C635C5BB45, 0x2D3DFDAB61AD1A42, 0x9E13B115620A452D, 0xD9B9CBFCC9EDBA19, 0x6A978742CA4AE576, 
  0xA14CB926613CF817, 0x1262F598629BA778, 0x55C88F71C97C584C, 0xE6E6C3CFCADB0723, 0xDA9C7AA29EB3A624, 0x69B2361C9D14F94B, 0x2E184CF536F3067F, 0x9D36004B35545910, 
  0x2B769F17CF112238, 0x9858D3A9CCB67D57, 0xDFF2A94067518263, 0x6CDCE5FE64F6DD0C, 0x50A65C93309E7C0B, 0xE388102D33392364, 0xA4226AC498DEDC50, 0x170C267A9B79833F, 
  0xDCD7181E300F9E5E, 0x6FF954A033A8C131, 0x28532E49984F3E05, 0x9B7D62F79BE8616A, 0xA707DB9ACF80C06D, 0x14299724CC279F02, 0x5383EDCD67C06036, 0xE0ADA17364673F59
};

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

About CRC-64/XZ

CRC-64/XZ is the reflected 64-bit CRC used by the .xz compression format and the Go crc64 ECMA table.

CRC-64/XZ is a 64-bit CRC model defined by polynomial 0x42F0E1EBA9EA3693, an initial register value of 0xFFFFFFFFFFFFFFFF, and final XOR 0xFFFFFFFFFFFFFFFF. It processes reflected input bytes and reports a reflected output.

Documented application context for this model includes .xz compression, Go crc64 package, Archive validation. 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
0x995DC9BBDF1939FA

Model characteristics

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

Bit order
Reflected
Register start
0xFFFFFFFFFFFFFFFF
Final XOR
0xFFFFFFFFFFFFFFFF
Published check
0x995DC9BBDF1939FA

Implementation checks for CRC-64/XZ

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

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

Complete CRC-64/XZ parameters

CRC parameter guide
ParameterValueMeaningReference
Width64 bitsCRC register and result widthRead guide
Poly0x42F0E1EBA9EA3693Generator polynomial without the leading termRead guide
Init0xFFFFFFFFFFFFFFFFInitial CRC register valueRead guide
RefInYesReflect each input byte before processingRead guide
RefOutYesReflect the register before XOR OutRead guide
XorOut0xFFFFFFFFFFFFFFFFFinal value XORed with the CRC registerRead guide
Check0x995DC9BBDF1939FACRC of ASCII “123456789”Read guide
ResidueNot listedExpected residue after appending a valid CRCRead guide
AliasesCRC-64/GO-ECMA

Where CRC-64/XZ is used

  • 01.xz compression
  • 02Go crc64 package
  • 03Archive validation

CRC-64/XZ FAQ

What is the check value for CRC-64/XZ?

For the standard ASCII test input 123456789, the check value of CRC-64/XZ is 0x995DC9BBDF1939FA.

What polynomial does CRC-64/XZ use?

CRC-64/XZ uses the 64-bit polynomial 0x42F0E1EBA9EA3693.

Does CRC-64/XZ use reflected input and output?

For CRC-64/XZ, RefIn is Yes and RefOut is Yes.

What is CRC-64/XZ commonly confused with?

CRC-64/WE uses the same polynomial (0x42F0E1EBA9EA3693), which is the usual source of mix-ups — matching the polynomial alone does not reproduce CRC-64/XZ. 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.