Connect anything
Work with several data sources in one file. Built-in providers cover JDBC, CSV, text, XML, LDAP, shell, JEXL, Velocity, Janino, and more.
Open source ETL for Java
Scriptella runs SQL and other scripts against multiple data sources from one small, readable ETL file. There is no visual designer, application server, or proprietary runtime to learn.
copy-customers.etl.xml
<!DOCTYPE etl SYSTEM
"http://scriptella.org/dtd/etl.dtd">
<etl>
<connection id="source" url="jdbc:h2:./source"/>
<connection id="target" url="jdbc:h2:./target"/>
<query connection-id="source">
SELECT id, name FROM customer
<script connection-id="target">
INSERT INTO customer VALUES (?id, ?name)
</script>
</query>
</etl>
Scriptella is a lightweight, open source ETL (extract-transform-load) and script execution tool written in Java. Its focus is simplicity: use SQL or the scripting language suited to your data source, with XML providing only the orchestration.
Work with several data sources in one file. Built-in providers cover JDBC, CSV, text, XML, LDAP, shell, JEXL, Velocity, Janino, and more.
Run existing SQL directly, include external files, bind query results as variables, and add expressions only where a transformation needs them.
Use the command line, Ant, Maven, or the Java API. Transactions, batching, conditional execution, and structured error handling are built in.
Typical uses
<sql> taskGetting started
Current baseline
Released July 17, 2026, Scriptella 1.3 modernizes the build, website, documentation, and release process while preserving Scriptella's established behavior and Java 8 compatibility.
Download the binary, source, and examples distributions from the download page, or use the org.scriptella modules from Maven Central.
Previous release
Scriptella 1.2, released October 3, 2019. Download 1.2.