# VCF Export in Bubble: Plugin or Custom JS – What’s More Reliable?

**URL:** https://forum.nocodework.com/t/vcf-export-in-bubble-plugin-or-custom-js-what-s-more-reliable/113
**Category:** Bubble
**Tags:** bubble
**Created:** [May 29, 2025, 1:06pm UTC](https://forum.nocodework.com/t/vcf-export-in-bubble-plugin-or-custom-js-what-s-more-reliable/113 "2025-05-29T13:06:34Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![Gautam](https://yyz2.discourse-cdn.com/flex032/user_avatar/forum.nocodework.com/gautam/32/12_2.png) [@Gautam](https://forum.nocodework.com/u/Gautam)
#### Post date: [May 29, 2025, 1:06pm UTC](https://forum.nocodework.com/t/vcf-export-in-bubble-plugin-or-custom-js-what-s-more-reliable/113/1 "2025-05-29T13:06:34Z")

</div>

### **Method 1: Using Plugins (No-Code Approach)**

This is the most Bubble-native method and works well if you prefer to avoid custom code.

#### Steps:

1. **Convert Image to Base64**  
Use the **“Base64 File Encoder”** plugin to convert the uploaded profile photo into a Base64 string.
2. **Structure VCF Content**  
Create a text field in Bubble with the vCard structure:

```auto
BEGIN:VCARD
VERSION:3.0
FN:John Doe
TEL:+123456789
EMAIL:john@example.com
PHOTO;ENCODING=b;TYPE=JPEG:[Base64 string]
END:VCARD

```

1. **Create and Download File**  
Use the **“Create File from Text”** plugin to generate the `.vcf` file and make it downloadable.

#### Pros:

- 100% no-code.
- Easy to set up inside Bubble.

#### Cons:

- Base64 formatting must be precise.
- May have issues on some devices if not structured correctly.

* * *

### **Method 2: Using JavaScript (Custom Code Approach)**

This method offers more control and flexibility, especially for handling complex formatting.

#### Steps:

1. Use the **“Toolbox” plugin** to run custom JavaScript.
2. In the JavaScript, build the VCF string (including Base64 image).
3. Use a `Blob` and `URL.createObjectURL()` to trigger file download in the browser.

#### Pros:

- Greater flexibility and precision.
- Can handle edge cases more easily.

#### Cons:

- Requires JavaScript knowledge.
- Not 100% Bubble-native; may need tweaking for mobile apps.

These two method i can find if you know more method to do it please share below in reply.

Thankyou
