Skip to content

Error Codes

All webcvt errors extend WebcvtError (from @catlabtech/webcvt-core) and carry a .code string property for programmatic matching.

ts
import { WebcvtError } from '@catlabtech/webcvt-core';

try {
  await convert(input, { format: 'mp4' });
} catch (err) {
  if (err instanceof WebcvtError) {
    console.error(err.code, err.message);
  }
}

@catlabtech/webcvt-core

ClassCodeWhen thrown
UnsupportedFormatErrorUNSUPPORTED_FORMATInput or output format is not recognized by any registered backend
NoBackendErrorNO_BACKENDNo registered backend can handle the input→output pair

@catlabtech/webcvt-backend-wasm

ClassCodeWhen thrown
WasmLoadErrorWASM_LOAD_FAILEDThe ffmpeg WASM binary failed to load or initialize
WasmExecutionErrorWASM_EXEC_FAILEDffmpeg exited with a non-zero exit code
WasmUnsupportedErrorWASM_UNSUPPORTEDThe requested format pair is not on the backend's allowlist

@catlabtech/webcvt-codec-webcodecs

ClassCodeWhen thrown
WebCodecsNotSupportedErrorWEBCODECS_NOT_SUPPORTEDThe WebCodecs API is not available in the current environment
UnsupportedCodecErrorUNSUPPORTED_CODECThe requested codec is not supported by the browser's WebCodecs implementation
CodecOperationErrorCODEC_OPERATION_ERRORA codec encode or decode operation failed

@catlabtech/webcvt-ebml

ClassCodeWhen thrown
EbmlVintErrorEBML_VINT_ERRORInvalid EBML variable-length integer encoding
EbmlElementTooLargeErrorEBML_ELEMENT_TOO_LARGEAn EBML element's declared size exceeds the allowed limit
EbmlTooManyElementsErrorEBML_TOO_MANY_ELEMENTSElement count exceeds the parser's safety cap
EbmlDepthExceededErrorEBML_DEPTH_EXCEEDEDEBML nesting depth exceeds the maximum
EbmlTruncatedErrorEBML_TRUNCATEDInput ended before all declared data was read
EbmlUnknownSizeErrorEBML_UNKNOWN_SIZEAn element uses unknown-size encoding where it is not permitted

@catlabtech/webcvt-container-wav

ClassCodeWhen thrown
WavTooLargeErrorWAV_TOO_LARGEInput exceeds the maximum supported WAV file size
WavFormatErrorWAV_FORMAT_ERRORRIFF/WAVE structure is malformed or missing required chunks
UnsupportedSubFormatErrorWAV_UNSUPPORTED_SUBFORMATWAVE_FORMAT_EXTENSIBLE sub-format GUID is not supported

@catlabtech/webcvt-container-mp3

ClassCodeWhen thrown
Mp3FreeFormatErrorMP3_FREE_FORMATFree-format bitrate MP3 streams are not supported
Mp3Mpeg25EncodeNotSupportedErrorMP3_MPEG25_ENCODE_NOT_SUPPORTEDMPEG 2.5 encoding is not implemented
Mp3InvalidFrameErrorMP3_INVALID_FRAMEAn MP3 frame header is corrupt or invalid
Mp3UnsynchronisationErrorMP3_UNSYNCHRONISATION_ERRORID3v2 unsynchronisation scheme produced invalid data
Mp3EncodeNotImplementedErrorMP3_ENCODE_NOT_IMPLEMENTEDMP3 encoding is not yet implemented in pure TypeScript

@catlabtech/webcvt-container-flac

ClassCodeWhen thrown
FlacInputTooLargeErrorFLAC_INPUT_TOO_LARGEInput exceeds the maximum supported FLAC file size
FlacInvalidMagicErrorFLAC_INVALID_MAGICFile does not begin with the fLaC stream marker
FlacInvalidMetadataErrorFLAC_INVALID_METADATAA FLAC metadata block is malformed
FlacCrc8MismatchErrorFLAC_CRC8_MISMATCHFrame header CRC-8 check failed
FlacCrc16MismatchErrorFLAC_CRC16_MISMATCHFrame footer CRC-16 check failed
FlacInvalidVarintErrorFLAC_INVALID_VARINTA UTF-8 coded integer in a FLAC frame is malformed
FlacInvalidFrameErrorFLAC_INVALID_FRAMEA FLAC audio frame is corrupt or invalid
FlacEncodeNotImplementedErrorFLAC_ENCODE_NOT_IMPLEMENTEDFLAC encoding is not yet implemented in pure TypeScript

@catlabtech/webcvt-container-ogg

ClassCodeWhen thrown
OggInputTooLargeErrorOGG_INPUT_TOO_LARGEInput exceeds the maximum supported Ogg file size
OggCaptureMissingErrorOGG_CAPTURE_MISSINGNo Ogg capture pattern (OggS) found at the expected position
OggInvalidVersionErrorOGG_INVALID_VERSIONOgg page header version field is not 0
OggSequenceGapErrorOGG_SEQUENCE_GAPPage sequence numbers are non-contiguous
OggCorruptStreamErrorOGG_CORRUPT_STREAMOgg stream data is corrupt
OggMultiplexNotSupportedErrorOGG_MULTIPLEX_NOT_SUPPORTEDMultiplexed (multi-stream) Ogg files are not supported
OggPacketTooLargeErrorOGG_PACKET_TOO_LARGEA single Ogg packet exceeds the size limit
OggTooManyPacketsErrorOGG_TOO_MANY_PACKETSPacket count exceeds the safety cap
OggTooManyPagesErrorOGG_TOO_MANY_PAGESPage count exceeds the safety cap
OggUnsupportedCodecErrorOGG_UNSUPPORTED_CODECThe codec carried in the Ogg stream is not supported

@catlabtech/webcvt-container-aac

ClassCodeWhen thrown
AdtsInputTooLargeErrorADTS_INPUT_TOO_LARGEInput exceeds the maximum supported ADTS file size
AdtsTruncatedFrameErrorADTS_TRUNCATED_FRAMEAn ADTS frame is truncated before its declared end
AdtsCorruptStreamErrorADTS_CORRUPT_STREAMADTS sync word not found or stream is corrupt
AdtsPceRequiredErrorADTS_PCE_REQUIREDProgram Config Element required but absent
AdtsReservedSampleRateErrorADTS_RESERVED_SAMPLE_RATEADTS header uses a reserved (undefined) sample rate index
AdtsInvalidLayerErrorADTS_INVALID_LAYERADTS header layer field is not 0 as required by the spec
AdtsMultipleRawBlocksUnsupportedErrorADTS_MULTIPLE_RAW_BLOCKS_UNSUPPORTEDMultiple raw data blocks per ADTS frame are not supported
AdtsInvalidProfileErrorADTS_INVALID_PROFILEADTS header profile index is out of range
AdtsCrcUnsupportedErrorADTS_CRC_UNSUPPORTEDADTS CRC protection mode is not supported
AdtsEncodeNotImplementedErrorADTS_ENCODE_NOT_IMPLEMENTEDAAC/ADTS encoding is not yet implemented in pure TypeScript

@catlabtech/webcvt-container-mp4

ClassCodeWhen thrown
Mp4InputTooLargeErrorMP4_INPUT_TOO_LARGEInput exceeds the maximum supported MP4 file size
Mp4MissingFtypErrorMP4_MISSING_FTYPNo ftyp box found as the first box
Mp4UnsupportedBrandErrorMP4_UNSUPPORTED_BRANDThe ftyp major brand is not supported
Mp4MissingMoovErrorMP4_MISSING_MOOVNo moov box found
Mp4MultiTrackNotSupportedErrorMP4_MULTI_TRACK_NOT_SUPPORTEDMulti-track MP4 files are not supported in this operation
Mp4NoTracksErrorMP4_NO_TRACKSThe moov box contains no trak children
Mp4TooManyTracksErrorMP4_TOO_MANY_TRACKSTrack count exceeds the safety cap
Mp4TrackIdZeroErrorMP4_TRACK_ID_ZEROA track ID of 0 is not permitted by the MP4 spec
Mp4DuplicateTrackIdErrorMP4_DUPLICATE_TRACK_IDTwo tracks share the same track ID
Mp4AmbiguousTrackErrorMP4_AMBIGUOUS_TRACKCould not determine which track to use for conversion

@catlabtech/webcvt-container-webm

ClassCodeWhen thrown
WebmInputTooLargeErrorWEBM_INPUT_TOO_LARGEInput exceeds the maximum supported WebM file size
WebmDocTypeNotSupportedErrorWEBM_DOCTYPE_NOT_SUPPORTEDEBML DocType is not webm
WebmEbmlVersionErrorWEBM_EBML_VERSION_ERROREBML version field value is not supported
WebmEbmlLimitErrorWEBM_EBML_LIMIT_ERRORAn EBML limit field exceeds the supported maximum
WebmMissingElementErrorWEBM_MISSING_ELEMENTA required WebM element is absent
WebmUnsupportedCodecErrorWEBM_UNSUPPORTED_CODECThe codec ID in the WebM track is not supported
WebmLacingNotSupportedErrorWEBM_LACING_NOT_SUPPORTEDLaced SimpleBlocks (fixed-size or EBML lacing) are not supported
WebmMultiTrackNotSupportedErrorWEBM_MULTI_TRACK_NOT_SUPPORTEDMulti-track WebM files are not supported in this operation
WebmUnsupportedTrackTypeErrorWEBM_UNSUPPORTED_TRACK_TYPEThe WebM track type is not video or audio
WebmMissingTimecodeError(see source)A required timecode element is missing
WebmMissingSegmentErrorWEBM_MISSING_SEGMENTNo Segment element found in the WebM file
WebmEncodeNotImplementedErrorWEBM_ENCODE_NOT_IMPLEMENTEDWebM encoding is not yet implemented in pure TypeScript

@catlabtech/webcvt-container-mkv

ClassCodeWhen thrown
MkvInputTooLargeErrorMKV_INPUT_TOO_LARGEInput exceeds the maximum supported MKV file size
MkvDocTypeNotSupportedErrorMKV_DOCTYPE_NOT_SUPPORTEDEBML DocType is not matroska
MkvEbmlVersionErrorMKV_EBML_VERSION_ERROREBML version field value is not supported
MkvEbmlLimitErrorMKV_EBML_LIMIT_ERRORAn EBML limit field exceeds the supported maximum
MkvMissingElementErrorMKV_MISSING_ELEMENTA required MKV element is absent
MkvUnsupportedCodecErrorMKV_UNSUPPORTED_CODECThe codec ID in the MKV track is not supported
MkvLacingNotSupportedErrorMKV_LACING_NOT_SUPPORTEDLaced SimpleBlocks (fixed-size or EBML lacing) are not supported
MkvMultiTrackNotSupportedErrorMKV_MULTI_TRACK_NOT_SUPPORTEDMulti-track MKV files are not supported in this operation
MkvUnsupportedTrackTypeErrorMKV_UNSUPPORTED_TRACK_TYPETrack type is not video or audio
MkvMissingTimecodeError(see source)A required timecode element is missing
MkvTooManyBlocksErrorMKV_TOO_MANY_BLOCKSBlock count exceeds the safety cap
MkvMissingSegmentErrorMKV_MISSING_SEGMENTNo Segment element found in the MKV file
MkvTooManyCuePointsErrorMKV_TOO_MANY_CUE_POINTSCue point count exceeds the safety cap
MkvEncryptionNotSupportedErrorMKV_ENCRYPTION_NOT_SUPPORTEDEncrypted MKV tracks are not supported

@catlabtech/webcvt-container-ts

ClassCodeWhen thrown
TsInputTooLargeErrorTS_INPUT_TOO_LARGEInput exceeds the maximum supported TS file size
TsNoSyncByteErrorTS_NO_SYNC_BYTENo MPEG-2 TS sync byte (0x47) found at expected positions
TsScrambledNotSupportedErrorTS_SCRAMBLED_NOT_SUPPORTEDScrambled (encrypted) TS packets are not supported
TsReservedAdaptationControlErrorTS_RESERVED_ADAPTATION_CONTROLAdaptation field control value 0 is reserved and invalid
TsMultiProgramNotSupportedErrorTS_MULTI_PROGRAM_NOT_SUPPORTEDMulti-program TS streams are not supported
TsMissingPatErrorTS_MISSING_PATNo PAT (Program Association Table) found
TsMissingPmtErrorTS_MISSING_PMTNo PMT (Program Map Table) found
TsCorruptStreamErrorTS_CORRUPT_STREAMTS stream data is corrupt
TsPsiCrcErrorTS_PSI_CRC_ERRORCRC check failed on a PSI (PAT/PMT) table section
TsTooManyPacketsErrorTS_TOO_MANY_PACKETSPacket count exceeds the safety cap
TsEncodeNotImplementedErrorTS_ENCODE_NOT_IMPLEMENTEDTS muxing is not yet implemented
TsInvalidAdaptationLengthErrorTS_INVALID_ADAPTATION_LENGTHAdaptation field length exceeds the remaining packet space

@catlabtech/webcvt-archive-zip

ClassCodeWhen thrown
ArchiveInputTooLargeErrorARCHIVE_INPUT_TOO_LARGEArchive input exceeds 200 MiB
ArchiveInvalidEntryNameErrorARCHIVE_INVALID_ENTRY_NAMEEntry name fails path-traversal validation
ArchiveEntrySizeCapErrorARCHIVE_ENTRY_SIZE_CAPEntry's uncompressed size exceeds the 256 MiB per-entry cap
ArchiveTotalSizeCapErrorARCHIVE_TOTAL_SIZE_CAPCumulative uncompressed size exceeds the 512 MiB total cap
ArchiveBz2NotSupportedErrorARCHIVE_BZ2_NOT_SUPPORTEDBZ2 compressed entries are not supported
ArchiveXzNotSupportedErrorARCHIVE_XZ_NOT_SUPPORTEDXZ compressed entries are not supported
ZipTooShortErrorZIP_TOO_SHORTInput is too short to be a valid ZIP file
ZipNoEocdErrorZIP_NO_EOCDEnd-of-central-directory record not found
ZipCommentTooLargeErrorZIP_COMMENT_TOO_LARGEZIP file comment exceeds the maximum length
ZipNotZip64SupportedErrorZIP_NOT_ZIP64_SUPPORTEDZIP64 archives are not supported
ZipMultiDiskNotSupportedErrorZIP_MULTI_DISK_NOT_SUPPORTEDMulti-disk (split) ZIP archives are not supported
ZipBadLocalHeaderErrorZIP_BAD_LOCAL_HEADERA local file header signature is invalid
ZipUnsupportedMethodErrorZIP_UNSUPPORTED_METHODA compression method other than Stored or Deflate was found
ZipCompressionRatioErrorZIP_COMPRESSION_RATIODecompressed/compressed ratio indicates a zip bomb
ZipTooManyEntriesErrorZIP_TOO_MANY_ENTRIESEntry count exceeds the safety cap
ZipCorruptStreamErrorZIP_CORRUPT_STREAMZIP stream data is corrupt
ZipTruncatedEntryErrorZIP_TRUNCATED_ENTRYEntry data is truncated
TarMisalignedInputErrorTAR_MISALIGNED_INPUTTAR input is not aligned to 512-byte blocks
TarChecksumErrorTAR_CHECKSUMTAR header checksum verification failed
TarGnuVariantNotSupportedErrorTAR_GNU_VARIANT_NOT_SUPPORTEDGNU TAR extensions are not supported
TarPaxNotSupportedErrorTAR_PAX_NOT_SUPPORTEDPOSIX PAX extended headers are not supported
TarTooManyEntriesErrorTAR_TOO_MANY_ENTRIESTAR entry count exceeds the safety cap
TarLongNameNotSupportedErrorTAR_LONG_NAME_NOT_SUPPORTEDLong name entries (@LongLink) are not supported
TarCorruptStreamErrorTAR_CORRUPT_STREAMTAR stream data is corrupt
TarInvalidOctalFieldErrorTAR_INVALID_OCTAL_FIELDA TAR header octal field contains non-octal characters
TarCumulativeSizeCapErrorTAR_CUMULATIVE_SIZE_CAPCumulative extracted size exceeds the safety cap
GzipInvalidMagicErrorGZIP_INVALID_MAGICInput does not begin with the GZip magic bytes
GzipUnsupportedMethodErrorGZIP_UNSUPPORTED_METHODGZip compression method is not DEFLATE
ArchiveEncodeNotImplementedErrorARCHIVE_ENCODE_NOT_IMPLEMENTEDArchive creation is not yet implemented

@catlabtech/webcvt-data-text

ClassCodeWhen thrown
InputTooLargeErrorDATA_TEXT_INPUT_TOO_LARGEInput size exceeds the byte cap
InputTooManyCharsErrorDATA_TEXT_INPUT_TOO_MANY_CHARSInput character count exceeds the cap
JsonInvalidUtf8ErrorJSON_INVALID_UTF8JSON input contains malformed UTF-8
JsonDepthExceededErrorJSON_DEPTH_EXCEEDEDJSON nesting depth exceeds the safety cap
JsonParseErrorJSON_PARSE_ERRORJSON parsing failed
CsvInvalidUtf8ErrorCSV_INVALID_UTF8CSV/TSV input contains malformed UTF-8
CsvUnterminatedQuoteErrorCSV_UNTERMINATED_QUOTEA quoted CSV field was never closed
CsvUnexpectedQuoteErrorCSV_UNEXPECTED_QUOTEA quote character appeared in an unquoted field
CsvBadQuoteErrorCSV_BAD_QUOTEInvalid character after a closing quote
CsvRowCapErrorCSV_ROW_CAP_EXCEEDEDRow count exceeds the safety cap
CsvColCapErrorCSV_COL_CAP_EXCEEDEDColumn count per row exceeds the safety cap
CsvCellCapErrorCSV_CELL_CAP_EXCEEDEDTotal cell count exceeds the safety cap
CsvDuplicateHeaderErrorCSV_DUPLICATE_HEADERHeader row contains duplicate column names
CsvRaggedRowError(see source)A CSV row has a different column count than the header
UnsupportedFormatErrorUNSUPPORTED_FORMATMIME type is not recognized by data-text
IniInvalidUtf8ErrorINI_INVALID_UTF8INI input contains malformed UTF-8
IniEmptyKeyErrorINI_EMPTY_KEYAn INI key is empty
IniSyntaxErrorINI_SYNTAX_ERRORINI input has invalid syntax
EnvSyntaxErrorENV_SYNTAX_ERRORENV input has invalid syntax
EnvBadEscapeErrorENV_BAD_ESCAPEInvalid escape sequence in ENV value
JsonlRecordParseError(see source)A JSONL record failed to parse as JSON
JsonlRecordDepthExceededError(see source)A JSONL record's nesting depth exceeds the cap
JsonlRecordTooLongError(see source)A single JSONL line exceeds the length cap
TomlParseErrorTOML_PARSE_ERRORTOML parsing failed
TomlDuplicateKeyErrorTOML_DUPLICATE_KEYTOML input contains a duplicate key
TomlRedefineTableErrorTOML_REDEFINE_TABLETOML table is defined more than once
TomlBadEscapeErrorTOML_BAD_ESCAPEInvalid escape sequence in TOML string
TomlBadNumberErrorTOML_BAD_NUMBERInvalid number literal in TOML
TomlBadDateErrorTOML_BAD_DATEInvalid date/time literal in TOML
TomlDepthExceededErrorTOML_DEPTH_EXCEEDEDTOML nesting depth exceeds the safety cap
TomlStringTooLongErrorTOML_STRING_TOO_LONGA TOML string value exceeds the length cap
TomlSerializeErrorTOML_SERIALIZE_ERRORTOML serialization failed
XmlInvalidUtf8ErrorXML_INVALID_UTF8XML input contains malformed UTF-8
XmlDoctypeForbiddenErrorXML_DOCTYPE_FORBIDDENXML DOCTYPE declarations are rejected for security
XmlEntityForbiddenErrorXML_ENTITY_FORBIDDENXML entity declarations are rejected for security
XmlForbiddenPiErrorXML_FORBIDDEN_PIA forbidden processing instruction was found
XmlParseErrorXML_PARSE_ERRORXML parsing failed
XmlDepthExceededErrorXML_DEPTH_EXCEEDEDXML nesting depth exceeds the safety cap
XmlTooManyAttrsErrorXML_TOO_MANY_ATTRSElement attribute count exceeds the safety cap
XmlBadElementNameErrorXML_BAD_ELEMENT_NAMEElement name contains invalid characters
XmlSerializeErrorXML_SERIALIZE_ERRORXML serialization failed
FwfInvalidUtf8ErrorFWF_INVALID_UTF8Fixed-width format input contains malformed UTF-8
FwfOverlappingColumnsErrorFWF_OVERLAPPING_COLUMNSFWF column definitions overlap
FwfInvalidColumnErrorFWF_INVALID_COLUMNFWF column definition is invalid
FwfTooManyColumnsErrorFWF_TOO_MANY_COLUMNSFWF column count exceeds the safety cap
FwfFieldOverflowErrorFWF_FIELD_OVERFLOWA FWF field value exceeds its declared width
YamlInvalidUtf8ErrorYAML_INVALID_UTF8YAML input contains malformed UTF-8
YamlIndentErrorYAML_INDENT_ERRORYAML indentation is inconsistent
YamlDirectiveForbiddenErrorYAML_DIRECTIVE_FORBIDDENYAML directives are not permitted
YamlMergeKeyForbiddenErrorYAML_MERGE_KEY_FORBIDDENYAML merge key (<<) is not supported
YamlAnchorUndefinedErrorYAML_ANCHOR_UNDEFINEDYAML alias references an undefined anchor
YamlAliasLimitErrorYAML_ALIAS_LIMITAlias count exceeds the safety cap (prevents alias bombs)
YamlScalarTooLongErrorYAML_SCALAR_TOO_LONGA YAML scalar value exceeds the length cap
YamlMapTooLargeErrorYAML_MAP_TOO_LARGEYAML mapping key count exceeds the safety cap
YamlSeqTooLargeErrorYAML_SEQ_TOO_LARGEYAML sequence length exceeds the safety cap
YamlComplexKeyForbiddenErrorYAML_COMPLEX_KEY_FORBIDDENComplex (non-scalar) YAML keys are not supported
YamlDuplicateKeyErrorYAML_DUPLICATE_KEYYAML mapping contains a duplicate key

@catlabtech/webcvt-image-animation

ClassCodeWhen thrown
ImageInputTooLargeErrorIMAGE_INPUT_TOO_LARGEImage input exceeds the size cap
AnimationUnsupportedFormatErrorANIMATION_UNSUPPORTED_FORMATMIME type is not supported by image-animation
GifTooShortErrorGIF_TOO_SHORTInput is too short to be a valid GIF
GifBadSignatureErrorGIF_BAD_SIGNATUREGIF signature is not GIF87a or GIF89a
GifBadDimensionErrorGIF_BAD_DIMENSIONGIF canvas dimension is out of the valid range
GifNoPaletteErrorGIF_NO_PALETTEGIF frame has no local palette and there is no global palette
GifFrameOutOfBoundsErrorGIF_FRAME_OUT_OF_BOUNDSA GIF frame's position/size extends beyond the canvas
GifUnknownExtensionErrorGIF_UNKNOWN_EXTENSIONAn unknown GIF extension block was encountered
GifBadBlockIntroErrorGIF_BAD_BLOCK_INTROGIF block introducer byte is invalid
GifLzwInvalidCodeErrorGIF_LZW_INVALID_CODEGIF LZW stream contains an invalid code
GifLzwTruncatedErrorGIF_LZW_TRUNCATEDGIF LZW stream ended unexpectedly
GifTooManyFramesErrorGIF_TOO_MANY_FRAMESGIF frame count exceeds the safety cap
GifFrameTooLargeErrorGIF_FRAME_TOO_LARGEA GIF frame's pixel count exceeds the safety cap
GifBadLzwMinCodeSizeErrorGIF_BAD_LZW_MIN_CODE_SIZEGIF LZW minimum code size is out of the valid range
ApngTooShortErrorAPNG_TOO_SHORTInput is too short to be a valid APNG
ApngBadSignatureErrorAPNG_BAD_SIGNATUREPNG signature bytes are invalid
ApngBadCrcErrorAPNG_BAD_CRCA PNG chunk CRC check failed
ApngBadSequenceErrorAPNG_BAD_SEQUENCEAPNG frame sequence numbers are non-contiguous
ApngUnknownCriticalChunkErrorAPNG_UNKNOWN_CRITICAL_CHUNKAn unknown critical PNG chunk was encountered
ApngHiddenDefaultNotSupportedErrorAPNG_HIDDEN_DEFAULT_NOT_SUPPORTEDAPNG files where the default image is hidden are not supported
ApngZeroFramesErrorAPNG_ZERO_FRAMESAPNG animation has zero frames
ApngTooManyFramesErrorAPNG_TOO_MANY_FRAMESAPNG frame count exceeds the safety cap
ApngBadDimensionErrorAPNG_BAD_DIMENSIONAPNG frame dimension is invalid
ApngFrameOutOfBoundsErrorAPNG_FRAME_OUT_OF_BOUNDSAn APNG frame extends beyond the canvas
ApngChunkStreamTruncatedErrorAPNG_CHUNK_STREAM_TRUNCATEDAPNG chunk data ended unexpectedly
WebpAnimTooShortErrorWEBP_ANIM_TOO_SHORTInput is too short to be a valid animated WebP
WebpBadRiffErrorWEBP_BAD_RIFFWebP RIFF header is invalid
WebpAnimMissingVp8xError(see source)VP8X chunk required for animation is missing
WebpStaticNotSupportedErrorWEBP_STATIC_NOT_SUPPORTEDStatic WebP input is handled by image-canvas, not image-animation
WebpAnimUnknownChunkErrorWEBP_ANIM_UNKNOWN_CHUNKAn unknown WebP chunk was encountered
WebpBadDimensionErrorWEBP_BAD_DIMENSIONWebP canvas dimension is invalid
WebpFrameOutOfBoundsErrorWEBP_FRAME_OUT_OF_BOUNDSA WebP frame extends beyond the canvas
WebpAnimOddOffsetErrorWEBP_ANIM_ODD_OFFSETWebP frame offset must be even per the spec
WebpChunkStreamTruncatedErrorWEBP_CHUNK_STREAM_TRUNCATEDWebP chunk data ended unexpectedly

@catlabtech/webcvt-image-legacy

ClassCodeWhen thrown
ImageInputTooLargeErrorIMAGE_INPUT_TOO_LARGEInput exceeds the size cap
ImagePixelCapErrorIMAGE_PIXEL_CAP_EXCEEDEDDecoded pixel count exceeds the safety cap
PbmBadMagicErrorPBM_BAD_MAGICPBM magic is not P1 or P4
PbmBadAsciiByteErrorPBM_BAD_ASCII_BYTEInvalid byte in PBM ASCII raster
PbmSizeMismatchErrorPBM_SIZE_MISMATCHPBM raster pixel count does not match header
PgmBadMagicErrorPGM_BAD_MAGICPGM magic is not P2 or P5
PgmBadMaxvalErrorPGM_BAD_MAXVALPGM maxval is out of the valid range
PgmSampleOutOfRangeErrorPGM_SAMPLE_OUT_OF_RANGEA PGM sample value exceeds maxval
PpmBadMagicErrorPPM_BAD_MAGICPPM magic is not P3 or P6
PpmSampleOutOfRangeErrorPPM_SAMPLE_OUT_OF_RANGEA PPM sample value exceeds maxval
PfmBadMagicErrorPFM_BAD_MAGICPFM magic is not PF or Pf
PfmBadScaleErrorPFM_BAD_SCALEPFM scale factor is zero or invalid
QoiBadMagicErrorQOI_BAD_MAGICQOI magic bytes are invalid
QoiBadHeaderErrorQOI_BAD_HEADERQOI header fields are out of range
QoiSizeMismatchErrorQOI_SIZE_MISMATCHQOI decoded pixel count does not match header
XbmBadHeaderErrorXBM_BAD_HEADERXBM C-header is malformed
XbmMissingDefineErrorXBM_MISSING_DEFINERequired #define directive is missing from XBM
XbmPrefixMismatchErrorXBM_PREFIX_MISMATCHXBM dimension defines use inconsistent prefixes
XbmSizeMismatchErrorXBM_SIZE_MISMATCHXBM data length does not match declared dimensions
XbmBadIdentifierErrorXBM_BAD_IDENTIFIERXBM identifier contains invalid characters
PcxBadMagicErrorPCX_BAD_MAGICPCX magic byte is not 0x0A
PcxBadVersionErrorPCX_BAD_VERSIONPCX version field is not a recognized value
PcxBadHeaderErrorPCX_BAD_HEADERPCX header fields are inconsistent or invalid
PcxUnsupportedFeatureErrorPCX_UNSUPPORTED_FEATUREPCX file uses a feature not supported by the decoder
PcxRleDecodeErrorPCX_RLE_DECODEPCX RLE decoding produced an unexpected output size
XpmBadHeaderErrorXPM_BAD_HEADERXPM file does not begin with the expected header comment
XpmBadValuesErrorXPM_BAD_VALUESXPM values string is malformed
XpmBadColorDefErrorXPM_BAD_COLOR_DEFAn XPM color definition entry is malformed
XpmBadHexColorErrorXPM_BAD_HEX_COLORAn XPM hex color value is invalid
XpmUnknownColorErrorXPM_UNKNOWN_COLORAn XPM pixel references an undefined color key
XpmDuplicateKeyErrorXPM_DUPLICATE_KEYAn XPM color key is defined more than once
XpmSizeMismatchErrorXPM_SIZE_MISMATCHXPM pixel data length does not match declared dimensions
XpmUnknownKeyErrorXPM_UNKNOWN_KEYAn XPM pixel uses a key not found in the color table
XpmTooManyColorsErrorXPM_TOO_MANY_COLORSXPM color count exceeds the safety cap
ImageUnsupportedFormatErrorIMAGE_UNSUPPORTED_FORMATMIME type is not recognized by image-legacy
TiffBadMagicErrorTIFF_BAD_MAGICTIFF byte-order mark is not II or MM
TiffUnsupportedFeatureErrorTIFF_UNSUPPORTED_FEATURETIFF file uses a feature not supported by the decoder
TiffBadIfdErrorTIFF_BAD_IFDA TIFF IFD entry or offset is invalid
TiffCircularIfdErrorTIFF_CIRCULAR_IFDTIFF IFD chain forms a cycle
TiffTooManyPagesErrorTIFF_TOO_MANY_PAGESTIFF page (IFD) count exceeds the safety cap
TiffBadTagValueErrorTIFF_BAD_TAG_VALUEA TIFF tag value is out of range or invalid
TiffPackBitsDecodeErrorTIFF_PACKBITS_DECODETIFF PackBits RLE decoding failed
TiffLzwDecodeErrorTIFF_LZW_DECODETIFF LZW decoding failed
TiffDeflateDecodeErrorTIFF_DEFLATE_DECODETIFF Deflate decompression failed
IcnsBadMagicErrorICNS_BAD_MAGICICNS magic bytes are invalid
IcnsBadHeaderSizeErrorICNS_BAD_HEADER_SIZEICNS file header declares an invalid file size
IcnsBadElementErrorICNS_BAD_ELEMENTAn ICNS element is malformed
IcnsTooManyElementsErrorICNS_TOO_MANY_ELEMENTSICNS element count exceeds the safety cap
IcnsUnsupportedFeatureErrorICNS_UNSUPPORTED_FEATUREICNS file uses an unsupported feature
IcnsPackBitsDecodeErrorICNS_PACKBITS_DECODEICNS PackBits decompression failed
IcnsMaskSizeMismatchErrorICNS_MASK_SIZE_MISMATCHICNS mask size does not match icon dimensions
TgaBadHeaderErrorTGA_BAD_HEADERTGA header fields are invalid or unsupported
TgaUnsupportedImageTypeErrorTGA_UNSUPPORTED_IMAGE_TYPETGA image type code is not recognized

@catlabtech/webcvt-image-svg

ClassCodeWhen thrown
SvgParseErrorSVG_PARSE_ERRORSVG markup failed to parse
SvgUnsafeContentErrorSVG_UNSAFE_CONTENTSVG contains disallowed content (scripts, external refs)
SvgInputTooLargeErrorSVG_INPUT_TOO_LARGESVG input exceeds the size cap
SvgRasterizeTooLargeErrorSVG_RASTERIZE_TOO_LARGERequested raster dimensions exceed the safety cap
SvgRasterizeErrorSVG_RASTERIZE_ERRORSVG rasterization failed
SvgEncodeNotImplementedErrorSVG_ENCODE_NOT_IMPLEMENTEDConverting to SVG output is not supported

@catlabtech/webcvt-cli

ClassCodeWhen thrown
CliBadUsageErrorBAD_USAGECLI arguments are invalid or missing required values
CliInputTooLargeErrorINPUT_TOO_LARGEInput file exceeds the CLI's size limit

MIT licensed