# CRC16 checksum

## Description

This operation calculates a 16-bit Cyclic Redundancy Check (CRC) value for a given input. A **cyclic redundancy check (CRC)** is an error-detecting code commonly used in digital networks and storage devices to detect accidental changes to raw data.&#x20;

The algorithm uses a fixed 16-bit polynomial to calculate a short "fingerprint" of the input data, resulting in a 16-bit (one-byte) checksum. This checksum can detect certain types of errors, like single-bit errors or burst errors up to 16 bits, by recalculating the checksum and comparing it with the original.

***

## Data types

These are the input/output expected data types for this operation:

### Input data

![](https://965373739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkxZeV4nlXcIAjMGZxzLI%2Fuploads%2FZmr35bwgundYfOW63E3q%2Fimage.png?alt=media\&token=2ba8baff-b40b-4dd4-ae2c-2a2ad5696788) - Data you want to compute the CRC-16 checksum for.

### Output data <a href="#output-data" id="output-data"></a>

![](https://965373739-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FkxZeV4nlXcIAjMGZxzLI%2Fuploads%2FZmr35bwgundYfOW63E3q%2Fimage.png?alt=media\&token=2ba8baff-b40b-4dd4-ae2c-2a2ad5696788) - CRC-16 values of your input data.

***

## Example

Suppose you want to calculate the CRC-16 of a specific set of data:

1. In your Pipeline, open the required [Action](https://docs.onum.com/the-workspace/pipelines/actions) configuration and select the input **Field**.
2. In the **Operation** field, choose **CRC16 Checksum**.
3. Give your **Output field** a name and click **Save**. The operation will calculate the CRC16 codes for the strings in your input field. For example:

```
Input data - "hello 1234"

Output data - "57D4"
```

{% hint style="info" %}
You can try out operations with specific values using the **Input** field above the operation. You can enter the value in the example above and check the result in the **Output** field.
{% endhint %}
