All contacts have a type of either "individual", "household", or "organization".
How can I change this type for an existing contact?
The Contact Editor extension allows you to change contact types safely. It checks for potential data loss, which isn't possible with the API method or the Merge method.
Say you want to convert from an individual to a household. One very hack-ish way is as follows:
Create a new household with the desired household name.
Note the "contact id" values for the individual (INDIVIDUALID) and for the newly created household (HOUSEHOLDID). (You can find this "contact id" value at the bottom of the screen when viewing the contact where it says something like "CiviCRM ID: 2345". Also this id value is in the URL of the page where you view the contact.)
Manually navigate to the following URL where you will merge the two contacts. In this URL you will have to replace "HOUSEHOLDID" with the id value for your newly created household and replace "INDIVIDUALID" with the id for the individual you want to "convert" to a household.
http://example.com/civicrm/contact/merge?reset=1&cid=HOUSEHOLDID&oid=INDIVIDUALID&action=update
Check all boxes, except make sure "contact type" and any "name" fields are un-checked
Merge the individual into the household.
This is a not so trivial issue, as you might have a lot of related data around that contact that were correct with an individual but might not be compatible with a household any more. For instance is the individual had custom data that are only valid for an individual, or a relationship "child of", or attended to an event... transforming that individual into an household might lead to weird results (eg. having "smith family" being the child of John or being a speaker with gluten intolerance at your latest gala dinner.
Now that you've been warned and that you are sure you are not going to create these monsters into your database, the trick I use is to use the api:
so the drush command generated looks like
drush cvapi Contact.create sequential=1 contact_type="Household" id=42 household_name="Bob's family"
and press execute and confirm you're ok to write to the database
And voila, it's an household. they are a few other parameters you might want to alter (addressee, the greetings), but it should get you covered, without having to attack directly the database
Api explorer is your friend, use it with moderation ;)