Overview
Introduction
Person schema is what ties a name on a page to a verifiable identity elsewhere on the web, through the sameAs property's list of social and professional profile links. It's the building block behind author bylines, team pages, and speaker profiles, and it's also what gets nested inside other schema types (Article's author, Event's organizer) when the entity involved is an individual rather than an organization.
This generator collects the fields that matter for a standalone Person page or byline (name, title, image, employer, social links) and outputs a complete, correctly-shaped JSON-LD block.
What Is Person Schema Generator?
A form-driven generator for Person JSON-LD: name, job title, image, personal URL, a list of social profile links, an optional employer, contact email, and an optional address.
sameAs is built as an array from one URL per line, and worksFor and address are each nested as their own typed objects (Organization and PostalAddress) rather than flattened strings.
How Person Schema Generator Works
Name, jobTitle, image, url, and email map directly to their Person properties; the sameAs box takes one profile URL per line and turns each line into an array entry.
worksFor is only included when an employer name is entered, nested as an Organization object; address is only included when at least one address field is filled in, nested as a PostalAddress with just the fields you provided.
When To Use Person Schema Generator
Building an author bio page or byline block for a blog, publication, or documentation site.
Adding a team or speaker profile page and wanting search engines to associate it with the person's real social and professional presence.
Often used alongside Structured Data Validator, Organization Schema Generator and Article Schema Generator.
Features
Advantages
- Builds the sameAs array from a simple line-per-URL list, rather than requiring manual JSON array formatting.
- Nests worksFor and address as their correctly-typed objects (Organization, PostalAddress) automatically.
- Produces valid minimal Person markup from just a name, with every other field genuinely optional.
Limitations
- Doesn't verify that sameAs URLs actually belong to the person or that the profiles are still active.
- Covers a single employer via worksFor; someone with multiple current roles needs a manually merged array, which this generator's single-object field doesn't produce.
- Doesn't expose every schema.org Person property (like birthDate or alumniOf), focusing instead on the fields most commonly used for author/team bio pages.
Examples
Best Practices & Notes
Best Practices
- List only profile URLs the person actually controls and that are kept up to date, since a stale or wrong sameAs link undermines the identity signal it's meant to provide.
- Use the person's canonical bio or author-page URL for the url field, not a generic homepage link.
- Keep jobTitle in the schema matching what's visibly displayed on the page, the same consistency principle Google applies to other structured data types.
- Include worksFor when the person's organizational affiliation is relevant context (staff bios, speaker pages), and omit it when it isn't (personal blogs, freelancer portfolios).
Developer Notes
sameAs is emitted as an array even for a single profile URL, matching the array shape schema.org's own documentation uses, and empty lines in the input box are filtered out before the array is built so accidental blank lines don't produce empty string entries in the output.
Person Schema Generator Use Cases
- Adding Person schema to an author bio block on a blog or publication
- Building a team page where each member gets their own Person JSON-LD block
- Generating a speaker profile's structured data for a conference site
Common Mistakes
- Listing sameAs URLs that are dead links or profiles the person no longer controls.
- Nesting worksFor as a bare organization name string instead of the required typed Organization object.
Tips
- Run the generated output through the Structured Data Validator tool in this category before publishing to confirm required fields parsed correctly.
- When this Person object is meant to be nested inside an Article's author field rather than used standalone, drop the surrounding @context/@type wrapper and paste just the inner object.