Skip to content

Import a blog into HubSpot as a CSV file

Last updated: February 12, 2026

Available with any of the following subscriptions, except where noted:

Use a CSV file to import blog content into HubSpot when import methods, such as smart copy, aren't compatible with your blog.

This method creates new blog posts in HubSpot using structured data from a CSV file. Use the sample CSV file as a template to prepare your blog content before starting the import.

Before you get started

Before you import a blog into HubSpot using a CSV file, review the requirements and considerations.

Understand requirements

  • The following columns are required in your CSV file:
    • URL
    • Title
    • SEO title
    • Author
    • Meta description
    • Publish date
    • Post body

Permissions required The following permissions are required:

Understand limitations & considerations

  • A default blog is created when a HubSpot account is set up. Imported posts can be added to the default blog or to a newly created blog
  • Download the sample CSV file to format your blog content to prepare your import.

Import blog content from a CSV file

  1. In your HubSpot account, click the settings settings icon in the top navigation bar.
  2. In the left sidebar menu, navigate to Content > Blog.
  3. In the Current view section, click the first dropdown menu and select Import blog.

  1. On the import overview page, click Import new blog in the top right. If you've already imported a blog, click the Start new import dropdown menu instead and select Blog posts
  2. Select CSV file upload, then click Next.
  3. Click the Which blog platform are you currently using? dropdown menu and select your blog platform. If you don't know which platform hosts your blog, select I am not sure
  4. Click the HubSpot blog dropdown menu and select the blog where the imported posts will be hosted. If you need to create a new blog, click Create new blog instead. Learn more about creating a blog in HubSpot
  5. In the CSV file upload box, click select a file, then upload your CSV file.
  6. In the lower right, click Copy blog posts.

Map the columns from the import file

After uploading your CSV file, map each column to the corresponding HubSpot blog property. Mapping ensures blog data appears in the correct fields.

Map the CSV columns

  1. For each property, Click the Column Header From File dropdown menu and select the corresponding HubSpot Blog Property. You'll see Preview Information with the value for the first row in your spreadsheet for that column.
  2. Repeat this process for each property you want to import.
  3. Then click Next in the lower right. The import process may take a few minutes to finish.
  4. Click return to the dashboard to see the status of your import.

Review required and optional blog properties

The following blog properties are available for mapping:

  • URL (required): enter the URL of each blog post in this column.
  • Title (required): enter the title for each blog post in this column.
  • SEO title: if you want search engines to index a different title for your blog post than the one that appears to your readers, enter a custom SEO title in this column.
  • Author (required): enter the name of the author of each blog post in this column. You can customize your blog author description after your import is complete.
  • Featured image: the URL of the featured image for each blog post in this column. If you don't want to import any featured images for your blog posts, leave this column blank or omit it from your CSV file.
  • Categories/Tags: enter the categories or tags applied to each blog post in this column. To import multiple tags or categories, separate them with a comma as illustrated in the sample CSV import file. If you don't want to import the categories or tags of this blog post, leave this column blank or omit it from your CSV file.
  • Meta description (required): a brief summary of what your blog post is about. To automatically use the first 55 characters of your blog post as your meta description, click the Column Header From File dropdown menu and select Use default.
  • Publish date (required): enter the publish date of each blog post in this column. Please note at this time only the date format MM/DD/YYYY is accepted. After the import, you can customize your blog's date formats settings in your blog settings, which are in your account settings.
  • Post body (required): enter the source code of the main body of your blog post content, including tags and image URLs. For an example of how to format your blog post body, see the sample CSV import file.

Finish the import

  1. Click Review results
  2. If errors appear, review the details in the Error tab. If there are issues with your URLs, you may see one of these errors
  3. Click Preview to see a simplified preview of your blog post content, image URLs, and a listing of the values the importer tool identified for that post.

Please note: images from your blog post won't render in the blog post preview, you'll see the image URLs appear in the preview instead.


  1. If any default values were applied to your blog post features, you'll see a note that reads: Default values used to complete mappings.
  2. To review the default values, click Change default values.
    • In the sidebar panel, review the default values for any blog features that couldn't be mapped for every blog post. In the example below, there's a default value populating for the blog Author and blog Publish date.
    • Update the values in the text field to the desired values.
    • Click Save to apply these values to all blog posts without a value for this property.
  1. All blog posts are selected for import by default. Deselect the checkbox on the left for any blog posts that you want to omit from your import.
  2. After you've finalized your selection, click Import.
  3. In the dialog box, select whether to import these blog posts as drafts or as live-published posts. 
  4. If any current posts share a URL with imported posts, you can select the Override any existing content with imported content checkbox to replace the current post with the version in your CSV file. This will clear any existing analytics for posts being replaced. 
  5. Click Save.
  6. The import status updates to Import in progress, then to Import completed once finished. If issues are detected, click the More dropdown menu and select View details

Next steps: set up the blog in HubSpot

After you've imported your blog posts:
  1. Edit your blog settings to customize your blog title, URL, and social sharing options.
  2. Configure your blog subscription options to send email notifications to your blog subscribers.
  3. Manage your blog authors and blog tags in HubSpot.
  4. Set up the rest of your company logo and branding in your account settings.
  5. Edit your blog template to control the styles and appearance of your blog. If you're using a theme from your Content Hub account or the Asset Marketplace, learn how to apply a theme template to your blog.
  6. Edit and publish a new blog post in HubSpot.
Was this article helpful?
This form is used for documentation feedback only. Learn how to get help with HubSpot.