Need help with marshmallow?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

5.8K Stars 582 Forks MIT License 3.0K Commits 125 Opened issues


A lightweight library for converting complex objects to and from simple Python datatypes.

Services available


Need anything else?

Contributors list

marshmallow: simplified object serialization

.. image:: :target: :alt: Latest version

.. image:: :target: :alt: Build status

.. image:: :target: :alt: Documentation

.. image:: :target: :alt: code style: black

marshmallow is an ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, to and from native Python datatypes.

.. code-block:: python

from datetime import date
from pprint import pprint

from marshmallow import Schema, fields

class ArtistSchema(Schema): name = fields.Str()

class AlbumSchema(Schema): title = fields.Str() release_date = fields.Date() artist = fields.Nested(ArtistSchema())

bowie = dict(name="David Bowie") album = dict(artist=bowie, title="Hunky Dory", release_date=date(1971, 12, 17))

schema = AlbumSchema() result = schema.dump(album) pprint(result, indent=2)

{ 'artist': {'name': 'David Bowie'},

'release_date': '1971-12-17',

'title': 'Hunky Dory'}

In short, marshmallow schemas can be used to:

  • Validate input data.
  • Deserialize input data to app-level objects.
  • Serialize app-level objects to primitive Python types. The serialized objects can then be rendered to standard formats such as JSON for use in an HTTP API.

Get It Now


$ pip install -U marshmallow


Full documentation is available at .


  • Python >= 3.6


A list of marshmallow-related libraries can be found at the GitHub wiki here:



This project exists thanks to all the people who contribute.

You're highly encouraged to participate in marshmallow's development. Check out the

Contributing Guidelines 
_ to see how you can help.

Thank you to all who have already contributed to marshmallow!

.. image:: :target: :alt: Contributors


If you find marshmallow useful, please consider supporting the team with a donation. Your donation helps move marshmallow forward.

Thank you to all our backers! [

Become a backer

.. _

Become a backer

.. image:: :target: :alt: Backers


Support this project by becoming a sponsor (or ask your company to support this project by becoming a sponsor). Your logo will show up here with a link to your website. [

Become a sponsor

.. _

Become a sponsor

.. image:: :target: :alt: Sponsors

.. image:: :target: :alt: Become a sponsor

Professional Support

Professionally-supported marshmallow is now available through the

Tidelift Subscription 

Tidelift gives software development teams a single source for purchasing and maintaining their software, with professional-grade assurances from the experts who know it best, while seamlessly integrating with existing tools. [

Get professional support


Get professional support

.. image:: :target: :alt: Get supported marshmallow with Tidelift

Security Contact Information

To report a security vulnerability, please use the

Tidelift security contact 
_. Tidelift will coordinate the fix and disclosure.

Project Links

  • Docs:
  • Changelog:
  • Contributing Guidelines:
  • PyPI:
  • Issues:
  • Donate:


MIT licensed. See the bundled

_ file for more details.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.