ftp image transfer eos 5d mark iv

Grab a coffee and a biscuit, this is a long post that shows how to configure your camera to send images to an internet connected FTP server through your mobile phone’s personal hotspot.

EOS 5D Mark IV added the ability to use the file transfer protocol (ftp) to send images using wireless, but several people have said they had troubles making it work.

FTP mode

FTP mode on the EOS 5D Mark IV makes it straightforward to send pictures from the camera to a huge range of computer systems. your Mac or PC can be configured as an ftp sever, your web hosting almost certainly has an ftp server and there are many more, including a growing range of wireless hard disks.

When using ftp, the camera opens and closes the connection to the sever when it is transmitting. This reduces the load on the network and the server, so that multiple cameras could connect to the same ftp server, and send images. This is in contrast to using the EOS Utility mode that needs the Canon software installed – PC/Mac only – and only allows a single camera connected at once.

EOS 5D Mark IV, wifi, FTP

Canon’s implementation of FTP mode allows a few different options for transferring photos straight from the camera.

  1. Each photo can be queued for transmission as they are taken – good in a studio environment
  2. Photos can be selected from the playback screen and queued for sending – good where only a few pictures need to be sent, and the photographer has the time to choose
  3. From the camera menu you can select multiple files to be sent, and the camera will log which send, and allow you to retry any that don’t send

Since the ftp connection is open and closed by the camera, then there has to be a wifi network continuously available; so called infrastructure mode. In locations where there is an existing network you can use that, your studio / home. If you are working on location it is possible that your mobile phone’s personal hotspot will do a fine job too, though check your mobile plan for tethered data restrictions and charges. Just 16 Dual Pixel RAW files is likely to exceed 1GB of data through your phone!

Step 1 – the ftp server

I’m using an ftp server at a web hosting company to transfer my pictures to. However you can setup an ftp server on your mac, pc, linux machine and many others as alternatives.

You will need to know the ftp server name or address, the ftp username and password.

FTP servers come in regular and secure versions, so called SFTP. Find out which you have, and if not sure try plain ftp first.

You may also need to know which directory or folder you need to write to on the ftp server, this will depend on the specific ftp server configuration.

Step 2 – your mobile phone


Both Android and iOS devices support wireless tethering / hotspots it’s usually something you have to activate on your device. You will then find a network name and a password to use the phones hotspot.

I find that sometimes my iPhone gets “bored” and goes off to connect to another network, but revisiting the personal hotspot page “reminds” it to be a hotspot.

However the best thing is that once you’ve got the connection running, then even if it goes down the camera will queue the images for transfer, and when the network is reconnected then the camera will start sending the queued images. I usually simply put the phone in my pocket with the screen locked.

While I have dealt with sending via the phone, if you are using a local network at home or in your studio, then you can use the same network name (SSID) and wifi key as your computers do.

Step 3 – EOS 5D Mark IV configuration

This is where it gets long. The camera needs to be configured to use whatever network and ftp server you have selected in the previous two steps.

So head to the camera SET UP4 menu and select Communications settings

The Built-in wireless settings is the first point of call, you need to enable WiFi, though NFC is not necessary. Next step is to select the Wi-Fi function, here you choose the Transfer images to FTP server option. It is worth pointing out that the touch screen on the camera is going to be faster to use in some of these menus.

If you haven’t previously tried to setup the FTP connection, then you are sent directly to the screen to start. If you did previously set up the ftp mode then you get the screen where you choose which of the previously used network settings you want to use. Follow the steps to connect your phone’s network and ftp server.

  1. Choose the network name created by your phone, and then enter the password
  2. IP address is the auto setting
  3. Choose the ftp server type SFTP or FTP
  4. Time to fill in the ftp server name – this screen seems not to be usable with touch! You may need a different port number, but 21 works for many ftp servers
  5. Passive mode – I used disable, this also depends on your ftp server configuration
  6. Proxy server – I’m not accessing via a proxy server
  7. Login method – this is where you need to fill in the ftp username and password for your ftp server. Touch screen keyboard works here! Take care with getting the case of the letters right
  8. Target folder – I usually create folder at the ftp server for the camera, you may be ok with the Root folder


ftp connected

Success if it all works, and what you need to achieve


Just few more steps to finesse your configuration

While you have managed to make the initial connection there are a few more steps that will further refine your communication experience. Particularly you can choose which files to send and when from the FTP transfer settings menu.

ftp communication settings

  • Automatic transfer – when enabled each image you take is queued for transfer to the server, you just need to make pictures
  • Transfer type and size, you can choose what to transfer if you are shooting multiple kinds of images. I often set the camera to RAW and small JPEG and only send the JPEG as it’s smaller and faster to send
  • Transfer with SET, this allows you to be able to queue an image for transfer from the playback screen, simply press the SET button and the displayed image is added to the queue
  • If you need a root certificate then it’s beyond my pay grade 😃

My recommended additional FTP configuration changes

Name your settings

Go back in to the built-in wireless settings, and choose Wi-Fi function again. Now choose disconnect, exit – yes I know it makes little sense! However this gets you back to the WiFi function screen where you select Transfer images to FTP server again, this shows the screen where you can make more changes and select a different configuration; there can be three in the camera. At this point choose Review/change settings, then change set.

Simplify the directory structure

You can be all done at this point and be happy. However what you will see is a directory structure on your FTP server that matches your camera card structure. Photos from the CF card go to an A folder, and from the SD card they go to the B folder. Then inside that you will have a DCIM folder then the usual 100EOS5D and then the files in that. I prefer to change this to so that the pictures are all in a single folder. The camera chooses the multi-layer structure named “camera” by default, but change it to the Default structure for the flatter version.

Selecting images to transfer from play menus

A last possibility is to select a group of images to send via FTP. Go to the PLAY2 menu and choose Image transfer. Choose image sel./transfer and you can see how many images have transferred in this session, and how many failed or are in the queue. You can also select individual images, a whole folder on the card or all images.

The RAW+JPEG transfer setting in this screen changes the transfer type for any transfers. However if you get a call from the office asking for a specific RAW it does allow you to switch to RAW only and send them the RAW they need, just make sure to set it back afterwards.

Transfer with caption allows you to add one of 15 pre-defined captions to your images. The captions are added to the camera from EOS Utility beforehand. I’ll cover that in a separate post this is long enough already.