#serialization #no-std

no-std serde_core

Serde traits only, with no support for derive – use the serde crate instead

9 stable releases

1.0.228 Sep 27, 2025
1.0.227 Sep 25, 2025

#62 in #serialize

Download history 1550676/week @ 2026-03-03 9874474/week @ 2026-03-10 9737509/week @ 2026-03-17 9503776/week @ 2026-03-24 9409062/week @ 2026-03-31 10316861/week @ 2026-04-07 11018837/week @ 2026-04-14 11619723/week @ 2026-04-21 12532031/week @ 2026-04-28 13365456/week @ 2026-05-05 14445444/week @ 2026-05-12 14081402/week @ 2026-05-19 14424321/week @ 2026-05-26 13333606/week @ 2026-06-02

58,570,411 downloads per month
Used in 157,870 crates (183 directly)

MIT/Apache

385KB
7.5K SLoC

The serde_core crate contains Serde's trait definitions with no support for #[derive()].

In crates that derive an implementation of Serialize or Deserialize, you must depend on the serde crate, not serde_core.

In crates that handwrite implementations of Serde traits, or only use them as trait bounds, depending on serde_core is permitted. But serde re-exports all of these traits and can be used for this use case too. If in doubt, disregard serde_core and always use serde.

Crates that depend on serde_core instead of serde are able to compile in parallel with serde_derive even when serde's "derive" feature is turned on, as shown in the following build timings.


When serde_json depends on serde

When serde_json depends on serde_core

Dependencies