---
title: FIX Data Types
description: Read FIX wire values with formats and examples for timestamps, dates, text, numbers, prices, quantities, and repeating-group counts.
---

This reference applies to the [FIX APIs](/api-reference/fix). Type names match the downloadable dictionaries. A type describes a value's encoding; each message's field table defines the declared values and additional requirements.

Numbers are written as decimal text, with `.` as the decimal point.

Examples show individual fields or values, not complete messages. The annotated form `TagName(tag)=ValueName(raw value)` identifies an enum; only the numeric tag and raw value travel on the wire. For example, `Side(54)=BUY(1)` is sent as `54=1`.

## AMT

A decimal monetary amount. Example value: `0.15`.

## BOOLEAN

`Y` means yes; `N` means no. Example: `AggregatedBook(266)=Y`.

## CHAR

One case-sensitive character. Example: `Side(54)=BUY(1)`.

## CURRENCY

A three-letter ISO 4217 currency code. Example value: `USD`.

## INT

A whole number, optionally negative. Example value: `30`.

## LENGTH

A byte count. Example value: `128`.

## MULTIPLECHARVALUE

One or more characters separated by spaces. Example: `ExecInst(18)=PARTICIPATE_DONT_INITIATE(6)`. The [order placement field table](/api-reference/fix/order-entry/messages/new-order-single#field-layout) lists the supported instructions.

## NUMINGROUP

The number of entries in a repeating group. Example: `NoRelatedSym(146)=2` announces two instrument entries; the message layout defines each entry's fields and wire order. See [Empty Groups](/reference/fix-message-layouts#empty-groups) for zero and omitted counters.

## PRICE

A decimal price. Example: `Price(44)=0.54`. See [Markets and Trading](/concepts/markets-and-trading) for units and price increments.

## QTY

A decimal quantity. Examples: `OrderQty(38)=100` and `CashOrderQty(152)=54.00`. The field determines whether the quantity is contracts or a notional budget.

## SEQNUM

A positive message sequence number. Example: `MsgSeqNum(34)=42`. A field can define a special zero value, such as `EndSeqNo(16)=0` for an open-ended resend range.

## STRING

Case-sensitive text. Example: `ClOrdID(11)=client-order-1`.

## UTCDATEONLY

A UTC calendar date in `YYYYMMDD` form. Example value: `20261029`.

## UTCTIMEONLY

A UTC time in `HH:MM:SS` form, optionally followed by fractional seconds. Example value with milliseconds: `18:10:45.123`.

## UTCTIMESTAMP

A UTC date and time. The exchange writes timestamps as `YYYYMMDD-HH:MM:SS.sss`, with three fractional digits for milliseconds:

```text
ValidUntilTime(62)=20270115-08:00:00.000
```

This means January 15, 2027 at 08:00:00.000 UTC. The date has no separators, a hyphen joins the date and time, and UTC is implicit: there is no `T`, `Z`, or numeric offset. This differs from the [RFC 3339 timestamps used by REST and WebSocket](/reference/timestamps).

The standard type definitions are specified in the FIX Trading Community's [FIX protocol data types, section 5](https://www.fixtrading.org/wp-content/uploads/download-manager-files/FIX-Latest-Specification-Introduction.pdf#page=11). FIX Protocol specification copyright FIX Protocol Limited.
