* initial draft * codeblock e.g.'s * initial draft of f4e end-user doc * first round of feedback * feedback round 2 * feedback round 3 * update screenshots * safari/macos import guide sketch * adios, friendly name * cli note * fix typo * finish import from macos/safari * feedback round 4 * more feedback * updated diagrams * fix typo * linked custom fields & more release note items * new auto-fill unlock behavior for context menu & keyboard! * release notes - autofill unlock * new events * fixes to 'using sso' * updated KC screenshot & test step * KC URL * send extension & release notes * hide ios extension * updates to sso faqs * SEO desc's & tags * Key Connector > Impact on Unlock > Add a note for online dependency * clarify "account is lost" * add some references to CME * final edits * f4e * quick edit to RN
6.3 KiB
layout, title, categories, featured, popular, tags, order, description
| layout | title | categories | featured | popular | tags | order | description | ||
|---|---|---|---|---|---|---|---|---|---|
| article | Condition a Bitwarden .csv or .json |
|
true | false |
|
11 | This article describes the format you should use when manually conditioning a .csv or .json file for import into the Bitwarden password manager. |
This article defines the format you should use when manually conditioning a .csv or .json for import into Bitwarden. This format is identical to that used by .csv or .json files created by Exporting your Bitwarden Vault.
Make sure that you're using the format for Personal Vaults or Organizations depending on your export/import operation, as they are slightly different.
Condition a .csv
{% callout info %}
Bitwarden .csv files will only handle Logins and Secure Notes. If you need to import or export Identities and Cards as well, use JSON.
{% endcallout %}
For your Personal Vault
Create a UTF-8 encoded plaintext file with the following header as the first line in the file:
folder,favorite,type,name,notes,fields,reprompt,login_uri,login_username,login_password,login_totp
For example:
folder,favorite,type,name,notes,fields,reprompt,login_uri,login_username,login_password,login_totp
Social,1,login,Twitter,,,0,twitter.com,me@example.com,password123,
,,login,EVGA,,,,https://www.evga.com/support/login.asp,hello@bitwarden.com,fakepassword,TOTPSEED123
,,login,My Bank,Bank PIN is 1234,"PIN: 1234",,https://www.wellsfargo.com/home.jhtml,john.smith,password123456,
,,note,My Note,"This is a secure note.",,,,,
When importing this file, select Bitwarden (csv) as your file format.
{% icon fa-download %} Download sample csv
For your Organization
Create a UTF-8 encoded plaintext file with the following header as the first line in the file:
collections,type,name,notes,fields,reprompt,login_uri,login_username,login_password,login_totp
For example,
collections,type,name,notes,fields,reprompt,login_uri,login_username,login_password,login_totp
"Social,Marketing",login,Twitter,,,0,twitter.com,me@example.com,password123,
"Finance",login,My Bank,Bank PIN is 1234,"PIN: 1234",0,https://www.wellsfargo.com/home.jhtml,john.smith,password123456,
,login,EVGA,,,https://www.evga.com/support/login.asp,hello@bitwarden.com,fakepassword,TOTPSEED123
,note,My Note,"This is a secure note.",,,,,
When importing this file, select Bitwarden (csv) as your file format.
{% icon fa-download %} Download sample csv
Minimum Required Values
You may not have data for all the values shown in the above formats, however most are optional. In order for the Bitwarden .csv importer to function properly, you are only required to have the following values for any given object:
folder,favorite,type,name,notes,fields,reprompt,login_uri,login_username,login_password,login_totp
,,login,Login Name,,,,,,
,,note,Secure Note Name,,,,,,
Condition a .json
For your Personal Vault
Create a UTF-8 encoded plaintext file in the following format:
{
"folders": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"name": "Folder Name"
},
...
],
"items": [
{
"id": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
"organizationId": null,
"folderId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": 1,
"reprompt": 0,
"name": "My Gmail Login",
"notes": "This is my gmail login for import.",
"favorite": false,
"fields": [
{
"name": "custom-field-1",
"value": "custom-field-value",
"type": 0
},
...
],
"login": {
"uris": [
{
"match": null,
"uri": "https://mail.google.com"
}
],
"username": "myaccount@gmail.com",
"password": "myaccountpassword",
"totp": otpauth://totp/my-secret-key
},
"collectionIds": null
},
...
]
}
When importing this file, select Bitwarden (json) as your file format.
{% icon fa-download %} Download sample json
For your Organization
Create a UTF-8 encoded plaintext file in the following format:
{
"collections": [
{
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"organizationId": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
"name": "My Collection"
"externalId": null
},
...
],
"items": [
{
"id": "vvvvvvvv-vvvv-vvvv-vvvv-vvvvvvvvvvvv",
"organizationId": "yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy",
"folderId": "zzzzzzzz-zzzz-zzzz-zzzz-zzzzzzzzzzzz",
"type": 1,
"reprompt": 1,
"name": "Our Shared Login",
"notes": "A login for sharing",
"favorite": false,
"fields": [
{
"name": "custom-field-1",
"value": "custom-field-value",
"type": 0
},
...
],
"login": {
"uris": [
{
"match": null,
"uri": "https://mail.google.com"
}
],
"username": "myaccount@gmail.com",
"password": "myaccountpassword",
"totp": otpauth://totp/my-secret-key
},
"collectionIds": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
},
...
]
}
When importing this file, select Bitwarden (json) as your file format.
{% icon fa-download %} Download sample json
Minimum Required Key-Value Pairs
You may not have data for all the key-value pairs shown in the above formats, however most are optional. In order for the Bitwarden .json importer to function properly, you are only required to have the following key-value pairs for each object:
{
"items": [
{
"type": 1,
"name": "Login Item's Name",
"login": {}
},
{
"type": 2,
"name": "Secure Note Item's Name",
"secureNote": {}
},
{
"type": 3,
"name": "Card Item's Name",
"card": {}
},
{
"type": 4,
"name": "Identity Item's Name",
"identity": {}
}
]
}
The "login":, "secureNote":, "card":, and "identity": objects can be imported as empty objects, however we recommend conditioning files with as much data as you are able.