diff --git a/templates/zerver/faq.html b/templates/zerver/faq.html
index 5c7a9e2969..ba1c44b304 100644
--- a/templates/zerver/faq.html
+++ b/templates/zerver/faq.html
@@ -73,8 +73,10 @@
Can I start on Zulip Cloud and later move to On-Premise?
- Yes! Our high quality export and import tools ensure you
- can always move from our hosting to yours (and back). If
+ Yes! Our high
+ quality export
+ and import tools ensure you can always move
+ from our hosting to yours (and back). If
you’d like to do a migration, email
support@zulipchat.com and we'll get you started!
diff --git a/templates/zerver/help/import-data-from-slack.md b/templates/zerver/help/import-data-from-slack.md
index 8557e04425..2f80159a41 100644
--- a/templates/zerver/help/import-data-from-slack.md
+++ b/templates/zerver/help/import-data-from-slack.md
@@ -30,8 +30,9 @@ First, you need to do some things in Slack to setup the export:
using [upgrade-zulip-from-git][upgrade-zulip-from-git] to avoid
bugs in the earliest versions of the Slack import tool.
-Log in to your Zulip server as the `zulip` user. Run the following
-commands, replacing `` with the value generated above:
+Log in to a shell on your Zulip server as the `zulip` user. Run the
+following commands, replacing `` with the value generated
+above:
```
cd /home/zulip/deployments/current
diff --git a/templates/zerver/help/import-or-export-a-zulip-organization.md b/templates/zerver/help/import-or-export-a-zulip-organization.md
new file mode 100644
index 0000000000..11164da270
--- /dev/null
+++ b/templates/zerver/help/import-or-export-a-zulip-organization.md
@@ -0,0 +1,102 @@
+# Import or export a Zulip organization
+
+Zulip has high quality export and import tools that can be used to
+migrate from the hosted Zulip Cloud service to or from your own
+servers, move data from one Zulip server to another, do backups or
+compliance work, etc.
+
+The import half of these tools also powers our
+[Slack import feature](/help/import-data-from-slack).
+
+!!! warn ""
+ These instructions currently require shell access to the Zulip
+ server. If you'd like to migrate to or from the Zulip Cloud
+ service hosted on zulipchat.com, contact support@zulipchat.com.
+
+When using these tools, it's important to ensure that the Zulip server
+you're exporting from and the one you're exporting to are running the
+same version of Zulip (since we do change and extend the format from
+time to time).
+
+### Export your Zulip data
+
+For best results, you'll want to shut down access to the organization
+you are exporting with `manage.py deactivate_realm` before exporting,
+so that nobody can send new messages (etc.) while you're exporting
+data. We include that in the instructions below.
+
+Log in to a shell on your Zulip server as the `zulip` user. Run the
+following commands:
+
+```
+cd /home/zulip/deployments/current
+./manage deactivate_realm -r '' # Deactivates the organization
+./manage.py export -r '' # Exports the data
+```
+
+(The `-r` option lets you specify the organization to export; `''` is
+the default organization hosted at the Zulip server's root domain.)
+
+This will generate a tarred archive with a name like
+`/tmp/zulip-export-zcmpxfm6.tar.gz`. The archive contains several
+JSON files (containing the Zulip organization's data) as well as an
+archive of all the organization's uploaded files.
+
+### Import into a new Zulip server
+
+Log in to a shell on your Zulip server as the `zulip` user. Run the
+following commands, replacing the filename with the path to your data
+export tarball:
+
+```
+cd /tmp
+tar -xf /path/to/export/file/zulip-export-zcmpxfm6.tar.gz
+cd /home/zulip/deployments/current
+./manage.py import --destroy-rebuild-database '' /tmp/zulip-export-zcmpxfm6
+./manage reactivate_realm -r '' # Reactivates the organization
+```
+
+!!! warn ""
+ **Warning:** This will destroy all existing data in your Zulip server
+
+### Import into an existing Zulip server
+
+If you already have some organizations hosted a your Zulip server, and
+want to add import an additional Zulip organization, you can use the
+following procedure.
+
+Log in to your Zulip server as the `zulip` user. Run the following
+commands, replacing the filename with the path to your data export
+tarball, `` with the subdomain of the URL you'd like for
+your imported Zulip organization.
+
+```
+cd /tmp
+tar -xf /path/to/export/file/zulip-export-zcmpxfm6.tar.gz
+cd /home/zulip/deployments/current
+./manage.py import --import-into-nonempty /tmp/zulip-export-zcmpxfm6
+./manage reactivate_realm -r '' # Reactivates the organization
+```
+
+## Logging in
+
+Once the import completes, all your users will have accounts in your
+new Zulip organization, but those accounts won't have passwords yet
+(since for very good security reasons, passwords are not exported).
+Your users will need to either authenticate using something like
+Google auth, or start by resetting their passwords.
+
+You can use the `./manage.py send_password_reset_email` command to
+send password reset emails to your users. We
+recommend starting with sending one to yourself for testing:
+
+```
+./manage.py send_password_reset_email -u username@example.com
+```
+
+and then once you're ready, you can email them to everyone using e.g.
+```
+./manage.py send_password_reset_email -r '' --all-users
+```
+
+(replace `''` with your subdomain if you're using one).
diff --git a/templates/zerver/help/include/sidebar.md b/templates/zerver/help/include/sidebar.md
index c84d93140c..92e8acdaf6 100644
--- a/templates/zerver/help/include/sidebar.md
+++ b/templates/zerver/help/include/sidebar.md
@@ -116,6 +116,7 @@
* [Update your organization's settings](/help/change-your-organization-settings)
* [Link to your Zulip from the web](/help/join-zulip-chat-badge)
* [Import data from Slack](/help/import-data-from-slack)
+* [Import or export a Zulip organization](/help/import-or-export-a-zulip-organization)
* [Restrict new users by email domain](/help/restrict-user-email-addresses-to-certain-domains)
* [Allow joining without an invitation](/help/allow-anyone-to-join-without-an-invitation)
* [Manage who can send invitations](/help/only-allow-admins-to-invite-new-users)