---
title: Work with Flux data types
description: Learn how to work with different Flux data types.
url: https://docs.influxdata.com/flux/v0/data-types/
estimated_tokens: 334
product: Flux
version: v0
---

# Work with Flux data types

A Flux **data type** defines the set of possible values and operations. Flux is **statically typed**, meaning data types are never explicitly declared as part of the Flux syntax (except as part of a [builtin statement](/flux/v0/spec/system-built-ins/)) and types are inferred from how a variable is used.

Flux data types are organized into the following:

## [Basic types](/flux/v0/data-types/basic/)

All Flux data types are constructed from **basic types**: boolean, bytes, duration, string, time, float, integer, uintegers, and null.

## [Composite types](/flux/v0/data-types/composite/)

Flux **composite types** are types constructed from basic types. Flux supports the following composite types: record, array, dictionary, function.

## [Dynamic types](/flux/v0/data-types/dynamic/)

A **dynamic** type is a wrapper for data whose type is not known until runtime. Dynamic types help when working with data from external sources (like JSON) that support types that do not have an equivalent Flux type.
