Cannot create a string longer than 0x1fffffe8 characters

I’m trying to read 900 mb file

Cannot create a string longer than 0x1fffffe8 characters

Information on your n8n setup

  • latest version
    -running n8n via docker
  • windows

Based on this topic, you should try to set the binary mode to filesystem . That will fix that issue. More information here: Scaling binary data in n8n | n8n Docs.

Can you please guide me step by step, How to change binary mode to filesystem

If you’re just trying to pass the file to another node (like uploading, encoding, etc.), you should follow below steps:

  1. Use the “Read/Write Files from Disk” node

  2. Under “Options”, enable:
    Binary Property: e.g., set to data
    Read As Binary Data: :white_check_mark: Enable this

  3. Then downstream, use the binary property (data) to upload, store, or manipulate the file.

If you are running your n8n via docker, you should be able to set the environment variables by passing them to docker run command, something like this:

docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n

then you can add the env var like so:

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v n8n_data:/home/node/.n8n \
  -e N8N_DEFAULT_BINARY_DATA_MODE=filesystem \
  docker.n8n.io/n8nio/n8n

otherwise if you are running in docker compose, then you should add N8N_DEFAULT_BINARY_DATA_MODE=filesystem to the list of environment variables, which would change your docker-compose service from something like this:

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    volumes:
      - n8n_data:/home/node/.n8n
      - ./local-files:/files

to something like this:

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "127.0.0.1:5678:5678"
    environment:
      - N8N_DEFAULT_BINARY_DATA_MODE=filesystem
      - N8N_HOST=${SUBDOMAIN}.${DOMAIN_NAME}
      - N8N_PORT=5678
      - N8N_PROTOCOL=https
      - NODE_ENV=production
      - WEBHOOK_URL=https://${SUBDOMAIN}.${DOMAIN_NAME}/
      - GENERIC_TIMEZONE=${GENERIC_TIMEZONE}
    volumes:
      - n8n_data:/home/node/.n8n
      - ./local-files:/files

The same issue was mentioned here, here and a few other topics.


which option i need to select

- N8N_DEFAULT_BINARY_DATA_MODE=filesystem
Just add this thing to your environment section in n8n docker compose file

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.