Eureka! reduces and analyzes exoplanet time-series observations; though particularly focused on JWST data, it also handles HST observations. Starting with raw, uncalibrated FITS files, it reduces time-series data to precise exoplanet transmission and emission spectra. The code can perform flat-fielding, unit conversion, background subtraction, and optimal spectral extraction. It can generate a time series of 1D spectra for spectroscopic observations and a single light curve of flux versus time for photometric observations. Eureka! can also fit light curves with noise and astrophysical models using different optimization or sampling algorithms and is able to display the planet spectrum in figure and table form.