📦 Maven Helper
Convert between Maven groupId:artifactId:version coordinates, pom.xml dependency blocks, and Gradle snippets. Runs entirely in your browser.
Paste a GAV coordinate or a <dependency> block above to generate pom.xml, GAV, and Gradle output.
About the Maven Helper
Every Java and Kotlin build tool identifies a library by three coordinates: the groupId (the organisation, e.g. org.springframework.boot), the artifactId (the module, e.g. spring-boot-starter-web) and the version. Maven writes these as a verbose <dependency> XML block, while the Maven CLI, Gradle, and most documentation use the compact groupId:artifactId:version (GAV) shorthand. This tool converts freely between the two — plus generates the Gradle snippet — so you can copy a dependency from one project into another regardless of which format you started with.
Everything runs locally in your browser. Nothing you paste is ever sent to a server, which makes it safe for internal or private artifact coordinates.
How to use it
- Paste your input on the left — either a GAV string like
com.google.guava:guava:33.2.1-jreor a full<dependency>XML block. The tool auto-detects which one you pasted. - Check the parsed coordinate on the right. Each segment — groupId, artifactId, version, and optional packaging, classifier and scope — is broken out into its own field.
- Copy any output — GAV string,
pom.xmlblock, or Gradle snippet (Groovy or Kotlin DSL) — with the copy button on each block.
Features
🔁 Bidirectional
Paste XML to get a GAV string, or paste a GAV string to get a ready-to-paste pom.xml block.
🐘 Gradle output
Generates both Groovy and Kotlin DSL dependency lines, mapping Maven scope to the right Gradle configuration.
🧩 Full coordinates
Supports optional packaging/type, classifier, and scope — not just the basic three segments.
🚦 Validation
Flags missing segments and invalid characters inline before you copy anything broken into your build file.
🔒 100% client-side
All parsing happens in your browser. Private and internal coordinates never leave your machine.
📋 One-click copy
Every generated block has its own copy button, so you grab exactly the format you need.
Frequently Asked Questions
What is a GAV coordinate?
GAV stands for groupId, artifactId, version — the three coordinates that uniquely identify a Maven artifact. Written compactly they look like org.springframework.boot:spring-boot-starter-web:3.3.2. Maven also supports longer forms that add packaging and classifier: groupId:artifactId:packaging:classifier:version.
How does Maven scope map to Gradle?
This tool maps Maven's <scope> to the closest Gradle configuration: compile (default) → implementation, test → testImplementation, provided → compileOnly, and runtime → runtimeOnly. If no scope is present, it defaults to implementation.
Can I convert a dependency without a version?
A version is required to generate valid output, because pom.xml and Gradle both need one (unless it is managed by a BOM or dependencyManagement block). If you omit it, the tool flags a 'Missing version' error rather than producing a broken snippet.
Does it support property placeholders like ${spring.version}?
Yes. Version fields may contain ${...} placeholders, so you can convert dependencies that reference a managed version property without the tool rejecting them.
Is my data sent anywhere?
No. All parsing and conversion happen entirely in your browser using JavaScript. Nothing you paste is transmitted or stored, so it is safe to use with private or internal artifact coordinates.