# .vcf MIME Type: text/vcard

> Contact cards (vCard, RFC 6350) that phones and mail apps import into the address book.

- MIME type: `text/vcard`
- Extensions: .vcf, .vcard
- Also seen as: `text/x-vcard`, `text/directory`
- Content-Type header: `text/vcard; charset=utf-8`
- Compress in transit: yes

## Good to know

- Apache's stock config still maps `.vcf` to the old `text/x-vcard`. Phones accept both, but `text/vcard` is the registered type.
- vCard 4.0 is UTF-8 only; older 2.1 files can declare a different charset on each property.

## Server configuration

### nginx (inside the types block in mime.types)

```
text/vcard vcf vcard;
```

### Apache (.htaccess or server config)

```
AddType text/vcard .vcf .vcard
```

### Express

```
res.set("Content-Type", "text/vcard; charset=utf-8");
```

### Python

```
import mimetypes

mimetypes.add_type("text/vcard", ".vcf")
mimetypes.add_type("text/vcard", ".vcard")
```

### HTML file input

```
<input type="file" accept=".vcf,.vcard,text/vcard">
```

## FAQ

### What is the MIME type for .vcf files?

`text/vcard`. You may also see `text/x-vcard`, `text/directory`, but `text/vcard` is the one to send. The same type covers .vcard.

### What Content-Type header should a .vcf file be served with?

`Content-Type: text/vcard; charset=utf-8`. As a text format, include the charset so browsers don't guess the encoding. It compresses well, so let the server apply gzip or Brotli.

## Related types

- [.ics — text/calendar](https://www.devkult.com/mime/ics.md)
- [.csv — text/csv](https://www.devkult.com/mime/csv.md)

Open the interactive page: https://www.devkult.com/mime/vcf