Avro Schema Evolution

Avro Schema Evolution

Check whether the new reader can read data written with the old schema, and whether the old reader can read new data. The inspector applies a bounded Apache Avro 1.12 writer–reader resolution profile to every possible writer union branch and enum symbol. It reports the actual matching rule and a path for each promotion, default, alias or incompatibility.

Avro 1.12 bounded profile: primitives, records/enums/fixed, arrays/maps, unions, prior named references, valid defaults and reader-side aliases. Logical types are rejected. Up to 48 KB per schema, 180 nodes, 120 fields and 24 union branches. A result covers schemas, not actual file decoding or implementation-specific behavior.

Old and new Avro schema JSON

Enter schemas and analyze.

No schema is uploaded. The JSON report contains your pasted schemas.

Comments & questions

Avro Schema Evolution

Check whether the new reader can read data written with the old schema, and whether the old reader can read new data. The inspector applies a bounded Apache Avro 1.12 writer–reader resolution profile to every possible writer union branch and enum symbol. It reports the actual matching rule and a path for each promotion, default, alias or incompatibility.

Key features

  • Analyze old-writer to new-reader and new-writer to old-reader separately
  • Resolve records, enums, fixed, arrays, maps, unions and earlier named references
  • Show reader defaults, writer-only fields, numeric/string-byte promotions and reader aliases
  • Require every possible writer union branch and enum symbol to resolve
  • Reject invalid defaults and unsupported logical types rather than guessing
  • Download a versioned JSON report after local analysis

How to use

  1. Load the Account example or paste the old and new Avro schema JSON documents.
  2. Select Analyze compatibility to parse both schemas under the displayed limits.
  3. Read the two directional verdicts and each rule/path before planning a rollout.
  4. Download the report if you need to review the decision with your team.

Use cases

  • Check whether a new consumer reads older records
  • Review a producer rollout against older consumers
  • Investigate why a renamed field needs a reader alias
  • Compare union branches and enum fallback before changing a schema

Frequently asked questions

Does adding a field always break older data?

A new reader can fill a missing writer field only when the reader field has a valid default. The reverse direction is checked separately.

Are aliases directional?

Yes. This profile applies type and field aliases declared by the reader to names used by the writer.

Does one compatible union branch make the schema compatible?

No. Every possible writer branch must find a matching reader branch for an all-data compatibility verdict.

Does this decode Avro files or cover logical types?

No. It compares bounded schema contracts; binary/JSON records and logical types are outside this profile.

Is a compatible result a production certification?

No. Check real producer and consumer implementations, stored writer schemas and representative data before deployment.

Privacy

Schema text is analyzed in the browser and is not sent to a tool API or stored automatically. A downloaded report includes both input schemas, so handle it as sensitive project data.

References

Related Tools

JSON Schema ValidatorSchema Form BuilderOpenAPI Contract InspectorWasm Module InspectorHreflang Matrix CheckerAST Query PlaygroundContainer Build GraphDependency Graph ExplorerSemver Range LabCron Schedule AuditorPatch Review WorkbenchSource Map ExplorerLocalization Catalog AuditorStructured Data ReviewerHTTP Archive AnalyzerWebhook Signature LabProtobuf Schema WorkbenchGraphQL Schema LabLocal SQL WorkbenchMesh Repair WorkbenchPipe Network LabRobot Arm Kinematics LabThermal Network LabBeam Response LabGear Train DesignerTolerance Stackup LabSensor Calibration FitPCB Stackup PlannerDigital Filter DesignerNetwork Reachability MapSun Shadow MapGPS Error SimulatorDigital Logic SimulatorAnalog Circuit LabMechanism Linkage LabAnalysis Mesh GeneratorDatabase Migration PlannerDimensional Equation CheckerTruss Force LabBoolean Minimization LabControl Response LabQueueing Simulation LabGeofence Event SimulatorCoordinate Reference LabSurvey Traverse LabRaster Classification LabChoropleth Design LabMap Print ComposerRaster Reprojection LabElevation Contour MakerTerrain Viewshed LabWatershed DelineatorMap Tile PackagerText File Encoding WorkbenchFilesystem Portability AuditorSBOM License ExplorerFile Signature Auditornpm Lockfile Conflict ResolverSource Secret AuditorOffline Web Package BuilderCertificate Chain InspectorTorrent Metainfo InspectorChunked File PackagerEncrypted File VaultDuplicate File FinderArchive WorkbenchDesign Token ManagerSpacing Token DesignerResponsive Type SystemPackaging Dieline DesignerSVG Icon Sprite PackerFlex Layout PlaygroundCSS Grid PlaygroundRegex Equivalence LabMarkdown Repository AuditorLog Template MinerResponsive Layout AuditorEmail Template PreviewInternal Link GraphState Machine TesterPetri Net SimulatorGit History VisualizerCurl Request WorkbenchBinary Protocol DesignerHex File EditorBinary Patch WorkbenchFile Signature WorkbenchAPI Mock SandboxSchema Column MapperEvent Log SessionizerER Diagram DesignerTime Series Gap AuditorStratified Data SplitterData Lineage DesignerDecision Tree LabData Anonymization WorkbenchData Expectation RunnerBasket Pattern AnalyzerRobots Policy TesterSEO HTML AuditorAccessibility Structure AuditorSyndication Feed WorkbenchIndexNow Payload BuilderCrawl Log AnalyzerCSP Policy WorkbenchSearch Performance AnalyzerCSV Formula Risk AuditorCORS Response SimulatorCache Header LabCookie Policy InspectorWeb Vitals Trace LabSitemap Health AuditorBatch File RenamerFile Manifest VerifierFolder Space MapFolder Difference ReviewerRoute Order OptimizerGeoJSON Map EditorPolygon Overlay LabCartographic Label PlacerSpatial Table JoinGeoJSON Topology AuditorGPX Track AnalyzerTrack Privacy RedactorCSV Table JoinCSV Pivot WorkbenchScientific Data ProfilerTabular Cleaning WorkbenchRecord ReconciliationData Dictionary BuilderCanonical Graph AuditorRedirect Plan TesterHTTP response and ping reference testBrowser and System InformationJSON ↔ YAML ConverterXML ↔ JSON ConverterHTML FormatterJavaScript MinifierMock Data Generator.gitignore GeneratorLicense GeneratorUser-Agent ParserPassword Strength CheckerCode to ImageXML FormatterHTTP Status Code LookupMIME Type LookupJS & SQL String EscapeCSS Box Shadow GeneratorCSS Gradient GeneratorIndent ConverterNumber Base ConverterUnicode Escape ConverterUnicode InspectorJSON Structure DiffMarkdown Table GeneratorBase64 EncoderJSON FormatterURL EncoderSQL FormatterCron Expression GeneratorRegex TesterUUID GeneratorHash GeneratorTimestamp ConverterJWT DecoderHTML Entity ConverterMarkdown PreviewCSS MinifierMeta Tag GeneratorJSON ↔ CSVCase ConverterImage to Base64
Explore all Dev Tools tools →Image/Media →Text/Convert →Life/Fun →