System Design - Url Shortener

1. Requirements

  • Users should be able to submit a long URL and receive a shortened version.

  • Users could be access shortener url.

2. Non-functional requirements:

  • Consistency: No two long URLs map the same short URL.

  • Performance: The redirect with minimal delay (< 100ms).

  • High availability: 99.99% of the time.

  • Scalability: 1B shortened URLs and 100M DAU.

3. High-level Design

3.1. Users should be able to submit a long URL and receive a shortened version

3.2. Users should be able to access the original URL by using the shortened URL

  • HTTP 301: permanently redirect => tell SEO that the website have redirected forever, move SEO to new URL.

  • HTTP 302: Keep the SEO, because client will back to this page later.

Last Updated On October 17, 2025