Structured Clone Tester - Free Online Tool | IconVault

See what survives structuredClone() across 28 types: Map, Set, Date, Blob, Error, functions and more. Free.

All tools

Structured Clone Tester

What survives structuredClone() across 28 types

5 of 5 free uses left

String

Survives

"hello world" -> "hello world"

Strings clone exactly.

Number

Survives

42.5 -> 42.5

Numbers clone exactly.

NaN

Survives

NaN -> NaN

NaN survives (JSON would turn it into null).

Infinity

Survives

null -> null

Infinity survives (JSON would turn it into null).

-0

Survives

0 -> 0

Negative zero is preserved.

BigInt

Survives

12345678901234567890n -> 12345678901234567890n

BigInts clone (JSON throws on them).

Boolean

Survives

true -> true

Booleans clone exactly.

null

Survives

null -> null

null clones exactly.

undefined

Survives

undefined -> undefined

undefined clones exactly.

Date

Survives

Date(2026-01-15T10:30:00.000Z) -> Date(2026-01-15T10:30:00.000Z)

Dates clone as real Date objects, not strings.

RegExp

Survives

/icon-[a-z]+/gi -> /icon-[a-z]+/gi

Source, flags and lastIndex are preserved.

Map

Survives

Map(2) -> Map(2)

Maps clone with entries intact (JSON gives {}).

Set

Survives

Set(3) -> Set(3)

Sets clone with values intact (JSON gives {}).

Array

Survives

[1,"two",[3]] -> [1,"two",[3]]

Arrays deep-clone.

Plain object

Survives

{"a":1,"b":{"c":[2,3]}} -> {"a":1,"b":{"c":[2,3]}}

Plain objects deep-clone.

Nested mixed

Survives

{"d":"1970-01-01T00:00:00.000Z","m":{},"u":{"0":9}} -> {"d":"1970-01-01T00:00:00.000Z","m":{},"u":{"0":9}}

Nested special types all survive together.

Uint8Array

Survives

Uint8Array(3 bytes) -> Uint8Array(3 bytes)

Typed arrays keep their type and bytes.

Float64Array

Survives

Float64Array(16 bytes) -> Float64Array(16 bytes)

Typed arrays keep their type and values.

ArrayBuffer

Survives

ArrayBuffer(4) -> ArrayBuffer(4)

Raw buffers clone byte for byte.

DataView

Survives

DataView(8 bytes) -> DataView(8 bytes)

DataViews clone with their bytes.

Blob

Survives

Blob(5 bytes, "text/plain") -> Blob(5 bytes, "text/plain")

Blobs clone (bytes included), useful for file pipelines.

File

Throws

Blob(4 bytes, "text/plain")

Files keep name, type and size.

Error

Survives

Error: boom -> Error: boom

Message and extra props survive, but the stack is regenerated and the subclass is lost.

DOMException

Survives

NotFoundError: not here -> NotFoundError: not here

DOMExceptions clone with name and message intact.

Function

Throws

function () {...}

Functions are not serializable and throw DataCloneError.

Symbol

Throws

Symbol(id)

Symbols are not serializable and throw DataCloneError.

Class instance

Survives

{"x":3,"y":4} -> {"x":3,"y":4}

Own properties survive, but the prototype is dropped, so methods like dist() are lost.

Circular reference

Survives

[circular] -> [circular]

Circular graphs clone correctly (JSON throws on them).

Tested live with your browser's own structuredClone().

About this tool

IconVault's Structured Clone Tester runs your browser's real structuredClone() against 28 value types and shows exactly what survives: Map, Set, Date, RegExp, typed arrays, ArrayBuffer, Blob, File, Error, DOMException, circular references and more. It is completely free and runs fully in your browser.

Each test is badged Survives, Changed or Throws, with a plain-English note about what happened. Copy the full report for documentation or debugging. If you have ever wondered why JSON.parse(JSON.stringify(x)) mangles your data, this shows you the better way.

Frequently asked questions

Popular searches

structuredclone testerstructuredclonestructured clone javascriptwhat survives structuredclonestructuredclone vs jsondeep clone javascriptjavascript deep copystructuredclone map setstructuredclone datestructuredclone blobstructuredclone filestructuredclone errorstructuredclone circularstructuredclone function throwsdatacloneerrorjs clone object deeplystructuredclone browser supportstructured serializationpostmessage clone algorithmindexeddb structured clonedeep copy map javascriptdeep copy set javascriptclone date object jsclone regexp javascripttyped array clonearraybuffer cloneclone class instance jsstructuredclone symbolstructuredclone undefinedstructuredclone bigintstructuredclone nandoes structuredclone copy functionsstructuredclone domexceptionstructuredclone nested objectsjavascript clone utilitydeep clone without lodashstructuredclone performanceclone blob javascriptclone file object jsstructuredclone test pagejs value types clonestructuredclone explaineddeep copy vs shallow copy jsstructuredclone limitationswhat can structuredclone clonestructuredclone docsmdn structuredclonejavascript serialization typesclone formdata structuredcloneworker postmessage clone

More tools

Coming soon

CLI

Coming soon

Figma plugin

Coming soon

VS Code extension

Coming soon

Chrome extension

Coming soon

AI icon generator

Coming soon

Team workspaces

Coming soon

View all 10+ tools →