The gray-tan three-dimensional cushioning material that holds your iPhone in its retail box, that holds an iPad in its sleeve, that has held an egg in its carton for a hundred years, that holds an iMac in its shipping crate. Molded pulp is a packaging material made by wet-forming recycled paper pulp on a screen-form, sucking out the water through vacuum, and oven-drying the resulting molded shape. Apple and IKEA's shift to molded pulp packaging in the 2010s drove a wave of design-grade molded-pulp innovation — the recycled-paper substitute for EPS foam that reads as honest packaging rather than waste. The classic gray egg carton is the heritage form; the premium clean-white iMac shipping cushion is the current capability. Pulp Works, UFP Technologies, and Henry Molded Products are the dominant North American suppliers; the global volume runs through paper-based packaging mills.
Cellulose pulp packaging, formed by depositing fiber slurry (typically 1-5 percent fiber by weight in water) onto a wire screen mold via vacuum, then transferred to a thermoforming press where heat (~200 °C) and pressure (~5 MPa) drive water out and consolidate the part to final dimension. Standard pulp sources: 100 percent post-consumer recycled paper (newsprint, mixed paper) for the gray heritage grade; bleached virgin pulp for the white premium grade; bagasse (sugarcane fiber waste) for the agricultural-fiber sustainable grade. Density 0.2-0.4 g/cm³ — the porosity is what gives molded pulp its cushioning. Wall thickness typically 1.5-3 mm. Compressive strength 0.1-0.5 MPa at 25 percent strain — adequate for most consumer-electronics cushioning needs. Crushable like EPS foam under impact, but at higher specific energy absorption per unit weight when designed with appropriate ribs and gussets. Tools (the screen-form molds) cost $5K-50K depending on complexity; per-part cost at volume is low ($0.10-$2.00 typical for consumer-electronics-scale parts). Recyclable in mixed-paper streams; biodegrades in soil within 60-180 days per ASTM D5338.
Principled BSDF defaults derived from the sphere granular finish. Reasonable seed for Blender, Substance, Keyshot, Rhino — tune per material. Or grab the whole library at once: ForMaterials library →
# finish: granular albedo #a89878 metallic 0.00 roughness 0.85 ior 1.45 transmission 0.00 clearcoat 0.00 sheen 0.00 anisotropic 0.00
{
"albedo": "#a89878",
"metallic": 0.0,
"roughness": 0.85,
"ior": 1.45,
"transmission": 0.0,
"clearcoat": 0.0,
"sheen": 0.0,
"anisotropic": 0.0
}
# Blender 4.x — Principled BSDF
# Molded Pulp (Egg Carton / Packaging Cushion) · finish: granular
import bpy
mat = bpy.data.materials.new(name="mat_paper_molded_pulp")
mat.use_nodes = True
bsdf = mat.node_tree.nodes["Principled BSDF"]
bsdf.inputs["Base Color"].default_value = (0.3916, 0.314, 0.1878, 1.0)
bsdf.inputs["Metallic"].default_value = 0.000
bsdf.inputs["Roughness"].default_value = 0.850
bsdf.inputs["IOR"].default_value = 1.450
bsdf.inputs["Transmission Weight"].default_value = 0.000
bsdf.inputs["Coat Weight"].default_value = 0.000
bsdf.inputs["Sheen Weight"].default_value = 0.000
bsdf.inputs["Anisotropic"].default_value = 0.000
# KeyShot 11+ — lux Python API, Generic material
# Molded Pulp (Egg Carton / Packaging Cushion) · finish: granular
# Run from Window → Scripting Console
import lux
mat = lux.createMaterial(name="mat_paper_molded_pulp", materialType="Generic")
mat.setProperty("diffuse", (168, 152, 120)) # 8-bit sRGB
mat.setProperty("metallic", 0.000)
mat.setProperty("roughness", 0.850)
mat.setProperty("indexOfRefraction", 1.450)
mat.setProperty("transparency", 0.000)
mat.setProperty("coatingWeight", 0.000)
{
"_format": "Substance Designer / Painter \u2014 pbrMetalRough constants",
"_about": "Molded Pulp (Egg Carton / Packaging Cushion) \u00b7 finish: granular",
"baseColor": {
"r": 0.3916,
"g": 0.314,
"b": 0.1878
},
"metallic": 0.0,
"roughness": 0.85,
"ior": 1.45,
"opacity": 1.0,
"anisotropyLevel": 0.0,
"_notes": "Channels listed are the standard Substance pbrMetalRough output. Drop into a Uniform Color node per channel, or as the constant input on a layered stack."
}
{
"asset": {
"version": "2.0",
"generator": "ForMatter"
},
"materials": [
{
"name": "mat_paper_molded_pulp",
"pbrMetallicRoughness": {
"baseColorFactor": [
0.3916,
0.314,
0.1878,
1.0
],
"metallicFactor": 0.0,
"roughnessFactor": 0.85
},
"extensions": {
"KHR_materials_ior": {
"ior": 1.45
}
}
}
]
}
# USD Preview Surface — UsdShade.MaterialLook prim attributes
# Molded Pulp (Egg Carton / Packaging Cushion) · finish: granular
def Material "mat_paper_molded_pulp" {
token outputs:surface.connect = </mat_paper_molded_pulp/PreviewSurface.outputs:surface>
def Shader "PreviewSurface" {
uniform token info:id = "UsdPreviewSurface"
color3f inputs:diffuseColor = (0.3916, 0.314, 0.1878)
float inputs:metallic = 0.000
float inputs:roughness = 0.850
float inputs:ior = 1.450
float inputs:opacity = 1.000
float inputs:clearcoat = 0.000
token outputs:surface
}
}
International Molded Fiber Association technical literature.
House vocabulary — terms ForMatter uses with intent.
Materials and processes for people who design and make things.
A local-first library of materials, processes, applications, and finishes — equal weight, citable everywhere, so a student can move from "what is this" toward "what's actually buildable here, now, by me." Part of the renato.design ecosystem — sibling of Plenum, Specimen, Ingenue, gesture, graf, and the Renato Rhino plug-ins. Form and matter, inseparable.
Half of teaching materials is teaching how the material is made into the thing. The standard subscription library was always light on that half. The wedge here isn't better samples or a prettier interface — it's treating Process as a peer entity, not a footnote.
Conway, Lefteri, Forty, Sparke, ASM, GIA. Every voice: Voices.
Local to this browser. No telemetry.