n8n-io/n8n · error · NodeOperationError
Unsupported mime type
Error message
Unsupported mime type: ${mimeType} for selected loader: ${selectedLoader} What it means
Validation error from the Default Data Loader's validateMimeType, raised as NodeOperationError. It fires when the mime type is globally supported but not supported by the selected loader, and the selection was not 'auto' or 'textLoader' (which accepts text-convertible data). Narrower than the loader-mismatch case: the type is loadable, just not by this loader without conversion.
Solutions
- Set Loader Type to 'auto' so the loader is chosen from the file's mime type.
- Convert the binary file into a format the node supports.
- Check the upstream node (e.g. HTTP Request) and make sure it delivers a supported content type.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at packages/@n8n/ai-utilities/src/utils/n8n-binary-loader.ts:79 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of n8n-io/n8n@5ac6606e81 (2026-08-12).
Data as JSON: /api/errors/057ac9f0397ec0b9.
Report an issue: GitHub.
Appendix: source
Thrown at packages/@n8n/ai-utilities/src/utils/n8n-binary-loader.ts:79
SUPPORTED_MIME_TYPES[loader as keyof typeof SUPPORTED_MIME_TYPES].includes(mimeType),
);
throw new NodeOperationError(
this.context.getNode(),
`Mime type doesn't match selected loader. Please select under "Loader Type": ${neededLoader}`,
);
}
if (!Object.values(SUPPORTED_MIME_TYPES).flat().includes(mimeType)) {
throw new NodeOperationError(this.context.getNode(), `Unsupported mime type: ${mimeType}`);
}
if (
!SUPPORTED_MIME_TYPES[selectedLoader].includes(mimeType) &&
selectedLoader !== 'textLoader' &&
selectedLoader !== 'auto'
) {
throw new NodeOperationError(
this.context.getNode(),
`Unsupported mime type: ${mimeType} for selected loader: ${selectedLoader}`,
);
}
}
private async getFilePathOrBlob(
binaryData: IBinaryData,
mimeType: string,
): Promise<string | Blob> {
if (binaryData.id) {
const binaryBuffer = await this.context.helpers.binaryToBuffer(
await this.context.helpers.getBinaryStream(binaryData.id),
);
return new Blob([binaryBuffer as BlobPart], {
type: mimeType,
});
} else {View on GitHub (pinned to 5ac6606e81)