EDITS: Calling toString on Date is for illustrative purposes. There’s a full commented example at the end. Use toJSON method as suggested by Schipperz. Add reviver method as suggested by Anders Ringqvist. So you have a User type in your code. interface User { name: string; age: number; created: Date; } At some point you’re going to want to encode this as JSON. This works as you’d expect. > JSON.stringify({ name: "bob", age: 34, created: new Date() }); '{"name":"bob","age":34,"created":"...