# node:url

> How Elide supports Node's `url` module: legacy parse, format and resolve, file-URL helpers, and the global URL, URLSearchParams and URLPattern classes.

`node:url` matches [Node's `url`](https://nodejs.org/api/url.html): legacy `parse`, `format`, and `resolve` plus
file-URL helpers; its `URL`, `URLSearchParams`, and `URLPattern` are the global [`URL`](https://elide.help/docs/api-whatwg-url),
[`URLSearchParams`](https://elide.help/docs/api-whatwg-url#urlsearchparams), and [`URLPattern`](https://elide.help/docs/api-whatwg-urlpattern).

## Example

```js
// url.mjs
import { fileURLToPath, format, pathToFileURL } from "node:url";

console.log(pathToFileURL("/tmp/report 1.txt").href);
console.log(fileURLToPath("file:///tmp/report%201.txt"));
console.log(format(new URL("https://user:pw@example.com/a?b=1#top"), { auth: false, fragment: false }));
```

`elide run url.mjs` prints:

```text
file:///tmp/report%201.txt
/tmp/report 1.txt
https://example.com/a?b=1
```

<!-- api-reference:start d3778894af08 -->
## Reference

**Status:** Full · 40 of 42 suite tests pass (95.2%) · since 1.1.0

### Exports

| Export | Kind | Status | Notes |
| --- | --- | --- | --- |
| `parse()` | function | Full | Parses a URL string into a UrlObject (legacy API) |
| `format()` | function | Full | Formats a URL object or WHATWG URL back into a string |
| `resolve()` | function | Full | Resolves a target URL relative to a base URL (legacy API) |
| `URL` | property | Full | The WHATWG URL class (same as global URL) |
| `URLSearchParams` | property | Full | The WHATWG URLSearchParams class (same as global URLSearchParams) |
| `domainToASCII()` | function | Full | Converts a Unicode domain name to its ASCII (Punycode) representation |
| `domainToUnicode()` | function | Full | Converts an ASCII (Punycode) domain name to Unicode |
| `fileURLToPath()` | function | Full | Converts a file: URL to a filesystem path string |
| `pathToFileURL()` | function | Full | Converts an absolute filesystem path to a file: URL |
| `urlToHttpOptions()` | function | Full | Returns an object with URL components suitable for use with http.request() |
| `resolveObject()` | function | Full | Resolves a relative URL against a source URL object, similar to a browser resolving an anchor tag |

**Tests:** [node-api `node:url`](https://github.com/elide-dev/testsuite/blob/main/reports/1.6.0%2B6e718933f/4cbcae6c33a8/node-api/node-api.md): 40 pass, 2 fail, 0 error, 3 skipped. Failing: `test-whatwg-url-custom-inspect.js`, `test-whatwg-url-custom-parsing.js`.
<!-- api-reference:end -->
