dataclean.to

Convert Course Data to Schema Markup

✓ Tested Works with CSV, Excel, Google Sheets → JSON-LD Schema
By dataclean.to team · 2026-02-13

Educational institutions, online learning platforms, and training providers manage course catalogs that are perfect candidates for schema.org Course markup. When properly implemented, Course schema helps your offerings appear in Google's education-related rich results, making them visible to students searching for specific subjects, skill levels, or learning formats. dataclean.to converts your course spreadsheets and databases into validated Course schema JSON-LD, handling the data cleaning and property mapping that makes the difference between valid and broken markup.

The Problem

Course data presents unique cleaning challenges. Duration formats vary wildly: "8 weeks", "2 months", "40 hours", "Self-paced." Price structures include free courses, one-time fees, subscription access, and payment plans — often mixed in the same dataset. Schedule information might be "Tuesdays 6-8pm" or "On-demand" or a specific date range. Prerequisite courses are referenced by name in one row and by course code in another. Skill levels use inconsistent labels: "Beginner", "Intro", "Level 1", "No experience needed." All of this inconsistency must be resolved before schema.org Course markup can be generated correctly. Course schema type specification

How to Fix It

1
Upload your course catalog data
Import your course catalog from CSV, Excel, or Airtable. Include columns for course name, description, instructor, duration, price, schedule, skill level, subject area, and any other relevant attributes.
2
Detect and clean course-specific fields
dataclean.to identifies course data patterns: duration values are detected and normalized, prices are standardized, dates are converted to ISO 8601, and text fields are cleaned of inconsistent formatting and encoding issues.
3
Standardize duration and schedule formats
Convert all duration representations to ISO 8601 duration format (e.g., "P8W" for 8 weeks, "PT40H" for 40 hours). Schedule information is structured into repeating day-time patterns or specific date ranges that schema.org can represent.
4
Map columns to Course schema properties
Map your cleaned columns to Course properties: name, description, provider (as Organization), hasCourseInstance (for specific offerings with dates and locations), offers (for pricing), coursePrerequisites, educationalLevel, and about (subject areas).
5
Generate and deploy Course JSON-LD
Export the JSON-LD for each course in your catalog. Each course becomes a Course schema object with nested CourseInstance, Offer, and Organization types as needed. Deploy via hosted API or download for manual page integration.

Frequently Asked Questions

How does Course schema differ from CourseInstance?
Course describes the general course (title, subject, prerequisites), while CourseInstance describes a specific offering of that course (start date, location, instructor, enrollment status). A single Course can have multiple CourseInstances. dataclean.to generates both and nests the instances within the course markup.
Can I include instructor information in the Course schema?
Yes. Instructor data maps to the instructor property using either Person or Organization schema types. If your data includes instructor names, titles, or profile URLs, these are cleaned and mapped to the appropriate Person properties within the Course markup.
Does Course schema help with Google for Education features?
Course schema contributes to how Google understands and surfaces educational content in search results. While Google's education-specific features have additional requirements beyond schema markup, having valid Course structured data is a foundational step for visibility in education-related searches.

Example: Input → Output

nameemailphonecitystatus
Alice Johnsonalice@example.com+1-555-0101New Yorkactive
alice johnsonALICE@EXAMPLE.COM5550101new yorkActive

Red rows show common data quality issues. dataclean.to normalizes and generates JSON-LD automatically.

{
  "@context": "https://schema.org",
  "@type": "Dataset",
  "name": "Cleaned Customer Data",
  "description": "Normalized customer records with standardized fields",
  "keywords": ["customer data", "CRM", "contact list"]
}
💡 How it works: Consistent data formatting reduces import errors and makes your dataset compatible with downstream tools.

Ready to Clean Your Data?

Upload your CSV or spreadsheet and get clean, structured data in minutes.

Get Started Free

Related Use Cases

Schema Generation
Csv To Schema Markup
Schema Generation
Clean Data For Schema Markup
Schema Generation
Event Data To Schema
Schema Generation
Csv To Json Ld