Airtable Cobuilder is here! Learn more about our new no-code app creation feature, powered by AI on the Airtable Academy

How to convert the contents of image URL to base64?

Topic Labels: Automations
7021 7
Showing results for 
Search instead for 
Did you mean: 
6 - Interface Innovator
6 - Interface Innovator

As the image uploaded in Airtable returns the URL of the image, I want to convert the contents of the URL(image) to base64, btoa() converts the URL to base64 but not the content of the URL (Actual Image), I want the uploaded Image in base64 format.
Is there anyway to do this inside automation script?
Thank you

7 Replies 7

There is probably a way to do this with scripting, but I don’t know Javascript so someone else would need to guide you on that.

Without using scripting at all, you can fully automate this by using the Base64 function of (You would first need to use the Get A File module to download the image from the URL, and then you can convert it to Base64 afterwards.)

@ScottWorld Is there anyway to do this in automation script and not using Script app?
Because I need to run the automation as soon as a new record is created which sends a POST request with the the attachment image in base64 format, I don’t know how to run script app every time a record is created.

@ScottWorld Exactly, Is there any way to do this in automation script without using or any other external websites.

As I mentioned above, there is probably a way to do this with scripting. I don’t know JavaScript, though.

5 - Automation Enthusiast
5 - Automation Enthusiast

There’s no / Integromat function to convert binary to base64. the base64 function only converts text to base64. what’s needed is the JS btoa() function.

i tried using the beta customJS component in but that doesn’t take binary or hex as an input to use btoa() function.

4 - Data Explorer
4 - Data Explorer


last night I had something similar in front of me and I have now also solved it via the Custom JS Module in using this JS code:  Buffer.from((await axios.get(input)).data).toString('base64')

Because here you can see that this module also includes Axios: 




@hnrklppk I tried same as you but I got this. Did I miss something ?Capture.PNG