is a very slow operation, if you intending to unmashaller a number of xml documents all with the same schema, you can greatly improve performance by caching the unmashaller instance, see below : import org.xml.sax.InputSource; import javax.xml.XMLConstants; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Unmarshaller; import javax.xml.validation.Schema