All Sources (47)

Drawing CSS Shapes using corner-shape

Drawing CSS Shapes using corner-shape

After you've got a `border-radius`, you can control the shape of the corner with `corner-shape`, which unlocks a simpler and more powerful way to make shapes compared to `clip-path()`.

Frontend Masters Blog
tool ui
JSON module scripts are now Baseline Newly available

JSON module scripts are now Baseline Newly available

Thanks to JSON module scripts and import attributes, you can now directly import JSON in JavaScript modules. Both features are now Baseline Newly available.

web.dev
tool
An open source tool to speed up iOS app launch

An open source tool to speed up iOS app launch

Order files re-order your binary to improve how symbols are loaded into memory. Generate an optimized order file faster with our new open-source tool FaultOrdering.

Sentry Blog
tool
Scope in CSS

Scope in CSS

We've got @scope in CSS now, and it's got it's uses. But the concept of scope in CSS is a wider idea.

Frontend Masters Blog
css tool
Frontend test coverage with Storybook 9

Frontend test coverage with Storybook 9

Stories give you free test coverage

Storybook Blog
testing tool ui
Seer, Sentry’s AI Debugger, is Generally Available

Seer, Sentry’s AI Debugger, is Generally Available

Debug smarter with Seer, Sentry's AI Debugger. Find root causes, get merge-ready fixes, and save development time with automated issue scans & fixes.

Sentry Blog
api library tool
You’re not a front-end developer until you’ve…

You’re not a front-end developer until you’ve…

A fun list post from Nic Chan where you check off the funny/sad/proud/weird things we do as front-end developers. I don’t know if a higher score is better, but it certainly means you’ve been around the block. I doubt you’ll be able to resist poking around Nic’s site, it’s really fun.

Frontend Masters Blog
framework tool ui
Tray.ai cut build times from a day to minutes with Vercel

Tray.ai cut build times from a day to minutes with Vercel

Tray.ai cut build times from a full day to just two minutes after migrating to Vercel. By consolidating infrastructure and updating their tech stack, they now deliver over a million monthly page views with a faster, more resilient site.

Vercel Blog
framework tool
Introducing the Dubai Vercel region (dxb1)

Introducing the Dubai Vercel region (dxb1)

Dubai (dxb1) is now part of Vercel’s global edge network, improving latency for users in the Middle East, Africa, and Central Asia.

Vercel Blog
cloud infra
Grainy Gradients

Grainy Gradients

This is about reducing banding effects in gradients by introducing noise. A nice approach is a displacement map using SVG filters.

Frontend Masters Blog
css tool ui
Building a Privacy-First Feedback Widget

Building a Privacy-First Feedback Widget

A lightweight, privacy-focused widget to gather your feedback on Nuxt documentation, built with Drizzle, NuxtHub database and Motion Vue.

Nuxt Blog
library tool ui
From REST to GraphQL in minutes with prebuilt Connectors

From REST to GraphQL in minutes with prebuilt Connectors

Unlock microservices potential with Apollo GraphQL. Seamlessly integrate APIs, manage data, and enhance performance. Explore Apollo's innovative solutions.

Apollo GraphQL Blog
api framework tool
ESLint v9.29.0 released

ESLint v9.29.0 released

A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.

ESLint Blog
api library tool
No Image

React Native 0.80 - React 19.1, JS API Changes, Freezing Legacy Arch and much more

Today we are excited to release React Native 0.80!

React Native Blog
api library tool
No Image

Moving Towards a Stable JavaScript API (New Changes in 0.80)

In React Native 0.80, we

React Native Blog
api library tool
Jake Archibald on Native HTML Includes

Jake Archibald on Native HTML Includes

There was a lot of interest in our Why Can’t HTML Alone Do Includes? article. I’d like to point you to my ShopTalk Show conversation where we really get into things more with Jake Archibald.

Frontend Masters Blog
tool
Building efficient MCP servers

Building efficient MCP servers

MCP is becoming the standard for building AI model integrations. See how you can use Vercel's open-source MCP adapter to quickly build your own MCP server, like the teams at Zapier, Composio, and Solana.

Vercel Blog
api tool
Improved team overview page

Improved team overview page

The Vercel team overview now sorts by your activity, can be filtered by repository, and shows a window into your usage.

Vercel Blog
tool
Improved unhandled Node.js errors in Fluid compute

Improved unhandled Node.js errors in Fluid compute

Fluid compute now gracefully handles Node.js uncaught exceptions and unhandled rejections to provide better isolation between requests.

Vercel Blog
tool
HTML spec change: escaping < and > in attributes

HTML spec change: escaping < and > in attributes

What you need to know about this change to how attributes are escaped.

Chrome Developer Blog
api security tool
Using the Sentry Unity SDK for Error and Crash Reporting

Using the Sentry Unity SDK for Error and Crash Reporting

Production game development needs advanced error and crash reporting. Here are some examples of how to use Sentry with Unity to identify and fix problems in your Unity games.

Sentry Blog
api library tool
No Image

Release Notes for Safari Technology Preview 221

Safari Technology Preview Release 221 is now available for download for macOS Tahoe and macOS Sequoia.

WebKit Blog
api tool ui
1fr 1fr vs auto auto vs 50% 50%

1fr 1fr vs auto auto vs 50% 50%

There are several different ways to do equal width columns. But some are, uh, more equal than others.

Frontend Masters Blog
css tool
Designing and building the Vercel Ship conference platform

Designing and building the Vercel Ship conference platform

Here's how we designed and built our Vercel Ship conference platform. We generated 15,000+ images and videos with tools like Flux, Veo 2, Runway, and Ideogram. Then, we moved to v0 for prototyping. See our iterations, examples, tech stack, and more.

Vercel Blog
framework tool ui
A new way to style gaps in CSS

A new way to style gaps in CSS

Say goodbye to border and pseudo-element hacks.

Chrome Developer Blog
tool ui
How ESLint language plugins enhance DSL usability

How ESLint language plugins enhance DSL usability

A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.

ESLint Blog
framework library tool
How to Configure Lightweight Browser Tracing for Debugging at Scale

How to Configure Lightweight Browser Tracing for Debugging at Scale

Tracing at scale can get noisy. Learn how to fine-tune your sample rate and span collection to keep your traces focused, readable, and actually useful.

Sentry Blog
api monitoring tool
Cursed Knowledge

Cursed Knowledge

Fun idea from the team at Immich: Cursed knowledge we have learned as a result of building Immich that we wish we never knew. Stuff like: Fetch requests in Cloudflare Workers use http by default, even if you explicitly specify https, which can often cause redirect loops.

Frontend Masters Blog
tool ui
How we’re adapting SEO for LLMs and AI search

How we’re adapting SEO for LLMs and AI search

AI is changing how content gets discovered. Now, SEO ranking ≠ LLM visibility. No one has all the answers, but here's how we're adapting our approach to SEO for LLMs and AI search.

Vercel Blog
api tool
Filter runtime logs for fatal function errors

Filter runtime logs for fatal function errors

You can now filter your runtime logs to identify fatal function errors, such as Node.js crashes, in the Vercel Logs UI.

Vercel Blog
tool
Oxlint v1.0 Stable

Oxlint v1.0 Stable

A collection of high-performance JavaScript tools written in Rust

Oxc Blog
api library tool
Yes, Sentry has an MCP Server (...and it’s pretty good)

Yes, Sentry has an MCP Server (...and it’s pretty good)

Sentry's MCP server is a great tool for LLMs to get further context into your Sentry projects. Check out how the MCP works when integrated to your IDE or LLM of choice.

Sentry Blog
api cloud tool
Announcing Oxlint 1.0

Announcing Oxlint 1.0

The first stable version of Oxlint, a fast & easy-to-use Rust-powered linter for JavaScript and TypeScript, is out. Learn about its 50~100x speed advantage over ESLint, support for 500+ rules, real-world adoption by major companies, and easy migration.

VoidZero Blog
api library tool
Scroll-Driven Letter Grid

Scroll-Driven Letter Grid

scroll-timelines go from 0 to 100. Many variable fonts axis have similar ranges, like 100 to 900. Surely that's begging for interplay.

Frontend Masters Blog
tool ui
Node v24.2.0 (Current)

Node v24.2.0 (Current)

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

Node.js Blog
library runtime tool
News from WWDC25: WebKit in Safari 26 beta

News from WWDC25: WebKit in Safari 26 beta

Welcome to WWDC25!

WebKit Blog
api tool ui
Observability added to AI Gateway alpha

Observability added to AI Gateway alpha

Vercel Observability now includes a dedicated AI section to surface metrics related to the AI Gateway.

Vercel Blog
api cloud tool
Web technology videos at WWDC25

Web technology videos at WWDC25

It’s time for WWDC25!

WebKit Blog
framework tool
Support foldable devices with the Viewport Segments API

Support foldable devices with the Viewport Segments API

The Viewport Segments API has shipped with minor changes to the origin trial covered in this blog post.

Chrome Developer Blog
tool ui
New permission prompt for Local Network Access

New permission prompt for Local Network Access

Learn about the new permission prompt for sites that connect to local networks.

Chrome Developer Blog
api security tool
Claude Code and Cursor Agent no longer require a team seat

Claude Code and Cursor Agent no longer require a team seat

Claude Code and Cursor Agent can now trigger builds on Vercel without a team seat, as a part of our bot detection policies.

Vercel Blog
api tool
Beware of End-of-Life Node.js Versions - Upgrade or Seek Post-EOL Support

Beware of End-of-Life Node.js Versions - Upgrade or Seek Post-EOL Support

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

Node.js Blog
runtime security tool
The Height Enigma

The Height Enigma

You might as well really understand height and Josh Comeau has your back here. It’s really quite different than width and perhaps less intuitive. Plus when grid and flexbox get involved, things change.

Frontend Masters Blog
css tool
What's happening in Chrome Extensions, June 2025

What's happening in Chrome Extensions, June 2025

An overview of the recent changes in Chrome Extensions, plus exciting upcoming extensions features developers can look forward to.

Chrome Developer Blog
api tool
Chrome achieves highest score ever on Speedometer 3.1, saving users millions of hours

Chrome achieves highest score ever on Speedometer 3.1, saving users millions of hours

Update (6/10/2025): This blog was updated to reflect that testing was done using the Speedometer 3.1 benchmark, and resulted in a 22% perf...

Chromium Blog
runtime tool
Pre-generate SSL certs, now in the Domains dashboard

Pre-generate SSL certs, now in the Domains dashboard

The Domains Dashboard now enables zero-downtime migration by allowing SSL certificates to be pre-provisioned before migrating domains.

Vercel Blog
tool
Bot Protection is now generally available

Bot Protection is now generally available

Vercel's Bot Protection managed ruleset allows users to mitigate unwanted bot activity on their projects in a single click

Vercel Blog
tool
firstChild can be white space

firstChild can be white space

Just a tiny gotcha.

Frontend Masters Blog
tool ui
Astro 5.9

Astro 5.9

Astro 5.9 has got your site on lockdown, with experimental support for Content Security Policy, rendering Markdown in content loaders, and more!

Astro Blog
framework security tool
React Router Open Governance

React Router Open Governance

React Router is moving to an Open Governance Model

Remix Blog
api framework library
The no-nonsense approach to AI agent development

The no-nonsense approach to AI agent development

Learn how to build reliable, domain-specific AI agents by simulating tasks manually, structuring logic with code, and optimizing with real-world feedback. A clear, hands-on approach to practical automation.

Vercel Blog
api tool
SVG to shape()

SVG to shape()

We’ve been trying to make the point around here that the new shape() in CSS is awesome. It’s the powerful <path> in SVG ported to CSS so it can use actual units. It’s probably how path() should have ported to begin with, but c’est la vie. I’ll make the point in this demo. Resize those […]

Frontend Masters Blog
css tool ui
Cloudflare is now backing pkg.pr.new’s data infrastructure!

Cloudflare is now backing pkg.pr.new’s data infrastructure!

We are thrilled to announce that Cloudflare is backing pkg.pr.new’s data infrastructure, enabling us to sustainably scale preview package releases for the open source community and onboard even more projects.

StackBlitz Blog
cloud tool
New firewall challenge metrics now available

New firewall challenge metrics now available

You can now monitor and query for challenge outcomes with two new metrics, available in the Firewall and Observability dashboards.

Vercel Blog
security tool
Storybook 9

Storybook 9

The lean, mean component testing machine

Storybook Blog
library testing tool
Search Params Are State

Search Params Are State

Search Params Are State — Treat Them That Way Search params have been historically treated like second-class state. They're global, serializable, and shareable — but in most apps, they’re still hacked...

TanStack Blog
api framework javascript
No Image

Shop Talk Show episode 667

Check out this week’s episode of Shop Talk Show where we appeared to talk about Declarative Web Push, the future of form control styling, color contrast algorithms, accessibility standards, enhancements in color picker functionality, typography improvements and more.

WebKit Blog
api tool ui
Announcing Vitest 3.2

Announcing Vitest 3.2

Vitest 3.2 Release Announcement

Vitest Blog
api library testing
Roadmap to v4

Roadmap to v4

We have some exciting news about the roadmap to Nuxt 4, including a new timeline and what to expect in the next few weeks.

Nuxt Blog
api framework tool
Introducing the v0 composite model family

Introducing the v0 composite model family

Learn how v0's composite AI models combine RAG, frontier LLMs, and AutoFix to build accurate, up-to-date web app code with fewer errors and faster output.

Vercel Blog
api framework tool
What’s new in Svelte: June 2025

What’s new in Svelte: June 2025

Attachments are the new actions, plus better snippets and classes

Svelte Blog
framework library tool
What&apos;s new in Astro - May 2025

What&apos;s new in Astro - May 2025

May 2025 - Michelin + ApostropheCMS case study, new Astro course from James Q Quick, and more!

Astro Blog
framework library tool
Fluid compute: Evolving serverless for AI workloads

Fluid compute: Evolving serverless for AI workloads

Fluid, our newly announced compute model, eliminates wasted compute by maximizing resource efficiency. Instead of launching a new function for every request, it intelligently reuses available capacity, ensuring that compute isn’t sitting idle.

Vercel Blog
cloud tool
Faster login flow and new Google Sign-in support

Faster login flow and new Google Sign-in support

We’ve improved the login experience with a new design and support for Google sign-in, including Google One Tap. Signing in with Google is now a single-click experience.

Vercel Blog
tool
Fluid compute now supports ISR background and on-demand revalidation

Fluid compute now supports ISR background and on-demand revalidation

Fluid compute now supports both background and on-demand revalidations across all Vercel projects. This update brings the same performance and efficiency improvements to on-demand cache updates, with no configuration changes required.

Vercel Blog
cloud tool
May 2025 Baseline monthly digest

May 2025 Baseline monthly digest

Read about various happenings with Baseline during May 2025.

web.dev
api library tool
No Image

Announcing Babel 8 Beta

After almost two years since the first Babel 8 alpha release (8.0.0-alpha.0), we are finally ready.

Babel Blog
api library tool
ESLint v9.28.0 released

ESLint v9.28.0 released

A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.

ESLint Blog
api library tool
Announcing Rolldown-Vite

Announcing Rolldown-Vite

We introduce Rolldown-Vite, a drop-in replacement for Vite that leverages the power of Rolldown for faster builds and reduced memory usage. Try it out today!

VoidZero Blog
framework library tool
Enabling chrome.userScripts in Chrome Extensions is changing

Enabling chrome.userScripts in Chrome Extensions is changing

We are making a series of changes to the chrome.userScripts API.

Chrome Developer Blog
tool
New to the web platform in May

New to the web platform in May

Discover some of the interesting features that have landed in stable and beta web browsers during May 2025.

web.dev
api css tool
No Image

Release Notes for Safari Technology Preview 220

Safari Technology Preview Release 220 is now available for download for macOS Sequoia and macOS Sonoma.

WebKit Blog
api library tool
Announcing Angular v20

Announcing Angular v20

The past couple of years have been transformative for Angular, as we’ve unleashed major advancements like reactivity with Signals and the…

Angular Blog
api framework tool
Simplify Your REST API Logic in React with Connectors for REST APIs and GraphQL

Simplify Your REST API Logic in React with Connectors for REST APIs and GraphQL

Unlock microservices potential with Apollo GraphQL. Seamlessly integrate APIs, manage data, and enhance performance. Explore Apollo's innovative solutions.

Apollo GraphQL Blog
api framework tool
AI query prompting now available in Observability Plus

AI query prompting now available in Observability Plus

AI query prompting is now available in Observability Plus, allowing users to write or edit log queries using natural language. Generate shareable, bookmarkable queries without writing syntax.

Vercel Blog
api tool
CVE-2025-48068

CVE-2025-48068

A low-severity vulnerability in the Next.js dev server has been addressed. It affects versions 13.0.0 through 14.2.29, and 15.0.0 through 15.2.1 when using the App Router and involves Cross-site WebSocket hijacking (CSWSH) to perform the exploit.

Vercel Blog
framework security tool
Chrome 138 beta

Chrome 138 beta

Discover what's coming to Chrome with the latest beta.

Chrome Developer Blog
css tool ui
Wake up, Remix!

Wake up, Remix!

It's time to go wake up Remix! Here's what we're building and what it means for React Router.

Remix Blog
framework library tool
Introducing Session Health in Sentry (Now In Open Beta)

Introducing Session Health in Sentry (Now In Open Beta)

Session Health (now in Open Beta) gives you a clear view of stability and user experience, so you can push a quick fix or keep rolling out with confidence.

Sentry Blog
api cloud tool
Introducing `jsr:` Support

Introducing `jsr:` Support

Introducing `jsr:` Support

VLT Blog
api library tool
New in Chrome 137

New in Chrome 137

CSS reading-flow and reading-order, the if() function, JavaScript Promise Integration with WebAssembly and plenty more.

Chrome Developer Blog
framework tool ui
WebStatus.dev: Now with more data, deeper insights, and a clearer path to Baseline

WebStatus.dev: Now with more data, deeper insights, and a clearer path to Baseline

Announcing improvements to the Web Platform Dashboard.

web.dev
api platform tool
From Alert to Fix in 10 minutes: How a Slow Query Took Down Placid.app

From Alert to Fix in 10 minutes: How a Slow Query Took Down Placid.app

Placid.app faced an API outage from a slow query & cascading failure. See how Sentry helped them diagnose & fix the issue in 10 minutes.

Sentry Blog
api cloud tool
What's New in WebGPU (Chrome 137)

What's New in WebGPU (Chrome 137)

Use texture view for externalTexture binding, buffers copy without specifying offsets and size, WGSL workgroupUniformLoad using pointer to atomic, and more.

Chrome Developer Blog
library tool
Vercel security roundup: improved bot defenses, DoS mitigations, and insights

Vercel security roundup: improved bot defenses, DoS mitigations, and insights

Since February, Vercel blocked over 148 billion attacks from 108 million IPs. This roundup highlights improvements to bot protection, DoS mitigation, and firewall tooling to help teams build securely by default.

Vercel Blog
api security tool
Rate limiting now available on Hobby, with higher included usage on Pro

Rate limiting now available on Hobby, with higher included usage on Pro

The first 1,000,000 allowed rate limit requests per month are now included. Hobby teams also get 1 free rate limit rule per project, up to the same included allotment.

Vercel Blog
tool
Middleware insights now available in Vercel Observability

Middleware insights now available in Vercel Observability

The Vercel Observability dashboard now includes a dedicated view for middleware, showing invocation counts and performance metrics.

Vercel Blog
tool
Faster CDN proxying to external origins

Faster CDN proxying to external origins

Vercel’s upgraded CDN connection pooling speeds up proxying to external backends by up to 60%, cutting latency for both low-traffic and high-traffic apps.

Vercel Blog
infra tool
The Baseline Netlify extension has shipped

The Baseline Netlify extension has shipped

The Baseline Netlify extension helps developers to understand which Baseline targets are best supported by users. Learn more in this post on how to use it!

web.dev
api library tool
Announcing TypeScript Native Previews

Announcing TypeScript Native Previews

Previews of the native TypeScript port are now available on npm and for VS Code through the Visual Studio Marketplace!

TypeScript Blog
framework library tool
A brief history of JavaScript

A brief history of JavaScript

In 30 years, JavaScript went from being a little scripting language to one of the world

Deno Blog
api framework library
External API caching insights now in Observability

External API caching insights now in Observability

External API caching insights. are now available in Observability for external API calls using Vercel Data Cache.

Vercel Blog
tool
Building MCP Tools with GraphQL: A Better Way to Connect LLMs to Your API

Building MCP Tools with GraphQL: A Better Way to Connect LLMs to Your API

Unlock microservices potential with Apollo GraphQL. Seamlessly integrate APIs, manage data, and enhance performance. Explore Apollo's innovative solutions.

Apollo GraphQL Blog
api framework tool
Watch our AI talks at I/O 2025

Watch our AI talks at I/O 2025

At Google I/O 2025, we shared what we've been working on, the future of AI on the web, and demonstrated how our partners are making use of client-side AI.

Chrome Developer Blog
api tool
Trip report: Node.js collaboration summit (2025 Paris)

Trip report: Node.js collaboration summit (2025 Paris)

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

Node.js Blog
api library tool
Get Better Visibility Into App Hangs On Apple Devices

Get Better Visibility Into App Hangs On Apple Devices

With these new improvements, the Cocoa SDK now detects fatal app hangs and introduces app hang rate to track the percentage of users affected.

Sentry Blog
api library tool
The Power in Pragmatism

The Power in Pragmatism

The web ecosystem moves fast. Frameworks evolve, paradigms shift, and tools get rewritten in pursuit of better ideas, or sometimes just cleaner abstractions. That kind of exploration can be valuable,...

TanStack Blog
framework javascript library
Node v22.16.0 (LTS)

Node v22.16.0 (LTS)

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

Node.js Blog
library runtime tool
Node v24.1.0 (Current)

Node v24.1.0 (Current)

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

Node.js Blog
library runtime tool
Two lines of Cross-Document View Transitions code you can use on every website today

Two lines of Cross-Document View Transitions code you can use on every website today

Arguably, the most profound thing about the web is the ability to link one page to another.

WebKit Blog
css tool ui
Vercel Blob is now generally available: Cost-efficient, durable storage

Vercel Blob is now generally available: Cost-efficient, durable storage

Vercel Blob is now generally available, providing durable object storage that's integrated with Vercel's application delivery network.

Vercel Blog
cloud tool
How Vapi built their MCP server on Vercel

How Vapi built their MCP server on Vercel

Vapi has used Vercel's MCP Adapter to deploy and host their MCP server on Vercel, leveraging the benefits of Fluid Compute

Vercel Blog
api cloud tool
Vercel Blob is now generally available

Vercel Blob is now generally available

Vercel Blob is now generally available, bringing high-performance storage integrated with the Vercel application delivery platform.

Vercel Blog
cloud tool
ESLint v9.0.0: A retrospective

ESLint v9.0.0: A retrospective

A pluggable and configurable linter tool for identifying and reporting on patterns in JavaScript. Maintain your code quality with ease.

ESLint Blog
framework library tool
Bringing Svelte Summit to the whole community

Bringing Svelte Summit to the whole community

We’re sponsoring the release of talks from Barcelona, starting this weekend

Svelte Blog
platform tool
Reports of Deno's Demise Have Been Greatly Exaggerated

Reports of Deno's Demise Have Been Greatly Exaggerated

Addressing recent Deno criticisms and sharing our vision for the future

Deno Blog
api cloud tool
Introducing the AI Gateway

Introducing the AI Gateway

With the AI Gateway, build with any model instantly. No API keys, no configuration, no vendor lock-in.

Vercel Blog
api tool
Visual Studio Code now supports Baseline

Visual Studio Code now supports Baseline

Learn about the new Baseline support in VS Code

web.dev
framework tool ui
Want AI to be better at debugging? It’s all about context

Want AI to be better at debugging? It’s all about context

More code is being shipped today than ever before, accelerated by AI powered code gen tools. We’re in a golden age for builders. But here’s the thing: software ...

Sentry Blog
api cloud tool
Logs in Sentry: Now in Open Beta

Logs in Sentry: Now in Open Beta

You’re looking at an error in Sentry—a failed payment in your Flask backend or an unexpected null in your Node API. You’ve got the stack trace. The request deta...

Sentry Blog
api cloud tool