Jake Archibald
@jakearchibald.com
📤 14243
📥 445
📝 894
Developer of sorts at
@firefox.com
. No thought goes unpublished. He/him.
pinned post!
CSS uses a complex algorithm to decide how to animate transforms. If you get it wrong, as many folks do, you end up with an unnatural animation. Here's how it works, and how to avoid the pitfalls.
jakearchibald.com/2025/animati...
loading . . .
Animating zooming using CSS: transform order is important… sometimes
How to get the right transform animation.
https://jakearchibald.com/2025/animating-zooming/
5 months ago
13
251
53
I tried to AI code some in-browser video decoding stuff. It made a mess. So I learned the APIs somewhat properly, and did a much better job, but it was still messy. Then I found
mediabunny.dev
and it just worked. Yay!
loading . . .
Mediabunny
A JavaScript library for reading, writing, and converting media files. Directly in the browser, and faster than anybunny else.
https://mediabunny.dev/
8 days ago
3
63
6
Last week I posted about a secret config in Firefox that made view transitions easier to debug. Folks said we should make it less secret. So we did.
loading . . .
11 days ago
2
100
16
JavaScript top-level await is no longer considered 'baseline' due to a pretty big Safari bug
caniuse.com/mdn-javascri...
The module graph fails in cases where two modules import a third at the same time. Demo:
random-stuff.jakearchibald.com/bug-repros/t...
It's best to avoid the feature for now 😔
loading . . .
JavaScript operator: await: Use at module top level | Can I use... Support tables for HTML5, CSS3, etc
https://caniuse.com/mdn-javascript_operators_await_top_level
11 days ago
10
151
45
@mikehall314.bsky.social
hmm kinda looks like the slide is introducing the panel
12 days ago
3
54
2
AV1 is crazy-good for encoding screencasts. 1:28 of video, higher-than-HD resolution, less than 2mb.
bugzilla.mozilla.org/show_bug.cgi...
There's not a lot of movement, but many codecs just don't handle that well.
loading . . .
1996198 - Guardian: Hit tests on fixed-bottom element are off by URL bar size
NEW (nobody) in Core - Layout: Positioned. Last updated 2025-10-24.
https://bugzilla.mozilla.org/show_bug.cgi?id=1996198#c0
14 days ago
2
29
3
reposted by
Jake Archibald
Wes Bos
14 days ago
Don't [...spread] or .split() your strings! Use Intl.Segmenter API. Available in every JS runtime
17
526
88
reposted by
Jake Archibald
Chrome for Developers
14 days ago
Match URLs with a powerful, standardized syntax using the URL Pattern API →
goo.gle/47iTr3o
Now part of Baseline, this API provides a built-in way to create URL pattern matchers that can be used against URLs or individual URL components.
1
34
8
📝 Importing vs fetching JSON JSON imports are now supported cross-browser, but when would you use them rather than fetch()?
jakearchibald.com/2025/importi...
loading . . .
Importing vs fetching JSON
They behave differently, so make sure you pick the right one.
https://jakearchibald.com/2025/importing-vs-fetching-json/
16 days ago
9
214
32
Aside from "it's the new W3C logo, with the text 'world wide web consortium' in a circle around the outside", what alt text would you use to describe this?
17 days ago
28
20
3
reposted by
Jake Archibald
17 days ago
New in Firefox nightly (146.0a1 2025-10-19): large lists of unused CSS custom properties are collapsed by default. This not only reduces clutter, it also massively speeds up the rendering of the inspector panel in some cases.
loading . . .
2
59
10
c'mon bsky, support 60fps video!
17 days ago
2
16
2
We're currently working on devtools for view transitions in Firefox, but in the meantime, here's a little-known option that helps…
loading . . .
18 days ago
7
129
23
reposted by
Jake Archibald
Chris Coyier
19 days ago
Love getting linked to a TikTok and you wanna unmute it but you gotta bring your machete to get down there.
4
61
6
reposted by
Jake Archibald
MDN Web Docs
21 days ago
📣 Firefox 144 is out! What's new for developers: 🧩 View Transition API for SPAs ⚙️ New Map/WeakMap methods (getOrInsert) 🧱 Element.moveBefore() 📱 ScreenOrientation.lock() 🕐 Built-in time picker for <input type="datetime-local"> (🧪exp.) Read more 👇
developer.mozilla.org/en-US/docs/...
loading . . .
Firefox 144 for developers - Mozilla | MDN
This article provides information about the changes in Firefox 144 that affect developers. Firefox 144 was released on October 14, 2025.
https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/144
0
73
12
reposted by
Jake Archibald
Bramus
21 days ago
With View Transitions now being Baseline Newly available, and the View Transition API consisting of various features, it can be confusing to know what is supported in which browser versions. To help with that, I created this VT Feature Explorer (powered by View Transitions)
web.dev/blog/same-do...
loading . . .
4
98
29
I dug into progressive image rendering and found a bunch of common assumptions aren't quite true. ➡️ JPEG & WebP progressive-renders worse in Safari ➡️ AVIF _does_ support progressive ➡️ But JPEG XL in Safari doesn't ➡️ JPEG XL decodes much slower than AVIF ⬇️ and more
jakearchibald.com/2025/present...
loading . . .
The present and potential future of progressive image rendering
Exploring progressive image rendering across JPEG, PNG, WebP, AVIF, and JPEG XL.
https://jakearchibald.com/2025/present-and-future-of-progressive-image-rendering/
22 days ago
13
146
42
We've already had a great response to this. Thank you everyone who took the time to make a ranking - I know there's a lot of proposals. If you haven't, there's still time!
bsky.app/profile/fire...
add a skeleton here at some point
22 days ago
7
64
15
I am once again bewildered by the motives of people who knock on the door of an occupied public toilet.
25 days ago
23
110
6
Hello other parts of the world! If you'd like to tell us your preferences from a list of web features people are already describing as "a bit long", here's how:
bsky.app/profile/fire...
add a skeleton here at some point
28 days ago
7
45
15
This was… quite quickly thrown together, so hopefully everything works well! I'm really hoping it gives developers more of a voice in the process. Feel free to shout at me if anything doesn't look right.
bsky.app/profile/fire...
add a skeleton here at some point
28 days ago
11
93
5
reposted by
Jake Archibald
28 days ago
There are… a lot of proposals, but you don't need to rank them all. Skim through the list, and find the few you really care about. This is an experiment, so we're also interested in feedback on the app itself, and things we can improve for next year.
1
18
1
reposted by
Jake Archibald
28 days ago
As an experiment, we (the Firefox team) wanted to try a new way to get feedback on which Interop proposals matter most. So, here's a web app where you can rank the proposals you care about, giving us data we can use when reviewing which ones to champion.
interop-rank.jakearchibald.com
loading . . .
Interop Feature Ranking
Rank the web platform features you care most about
https://interop-rank.jakearchibald.com/
19
252
137
Folks who want to see JPEG-XL supported in more browsers, what is it about the format that attracts you to its use on the web?
about 1 month ago
18
50
9
I'm actually quite impressed by Google's AI search, but hah it does this _a lot_.
loading . . .
about 1 month ago
2
24
0
There was a period during my time at Chrome where a well-resourced sub team did significant amounts of free work for Vercel. This included giving Rauch a talk at Chrome Dev Summit. I was asked to switch
squoosh.app
from Preact to Vercel, and was told I wasn't a team player for refusing. Mad.
about 1 month ago
15
243
6
What's next? Playing badminton with Skelator?
about 1 month ago
16
323
58
Web component folks: A common feature with request is to "inherit from a button". If that's something you want, which specific button behaviours is it you want to inherit? Why is putting a button in the shadow root not the answer?
about 1 month ago
16
30
12
SVGOMG has been updated to use SVGO 4! (thanks Adrien Crivelli!) This is the URL for SVGOMG. Unfortunately someone maintains a fork with ads, so, err, don't use that 😀
jakearchibald.github.io/svgomg/
loading . . .
SVGOMG - SVGO's Missing GUI for minifying SVGs
Easy & visual compression of SVG images.
https://jakearchibald.github.io/svgomg/
about 1 month ago
8
182
32
Is it in the constitution that US podcasters have to pick between Alex Jones voice & Tina Belcher voice?
about 1 month ago
4
14
2
reposted by
Jake Archibald
MDN Web Docs
about 2 months ago
🧪 Thinking of using fetch() streams to track upload/download progress?
@jakearchibald.com
shares more, and how could limit future browser optimizations. ✅ Streams = Great for parallel processing ❌ Streams ≠ Reliable for measuring up/down % Read more 👇
jakearchibald.com/2025/fetch-...
loading . . .
Fetch streams are great, but not for measuring upload/download progress
They're inaccurate, and there are better ways.
https://jakearchibald.com/2025/fetch-streams-not-for-progress/
1
33
4
reposted by
Jake Archibald
Phil Hawksworth
about 2 months ago
The arbiter of good taste
25
238
58
New metal album just dropped
about 2 months ago
2
65
6
reposted by
Jake Archibald
📝 Fetch streams are great, but contrary to popular belief, they're not good for measuring upload/downloading progress. ⬇️ Here's why, and how to avoid the gotchas ⬇️
jakearchibald.com/2025/fetch-s...
loading . . .
Fetch streams are great, but not for measuring upload/downloading progress
They're inaccurate, and there are better ways.
https://jakearchibald.com/2025/fetch-streams-not-for-progress/
about 2 months ago
4
149
17
📝 Fetch streams are great, but contrary to popular belief, they're not good for measuring upload/downloading progress. ⬇️ Here's why, and how to avoid the gotchas ⬇️
jakearchibald.com/2025/fetch-s...
loading . . .
Fetch streams are great, but not for measuring upload/downloading progress
They're inaccurate, and there are better ways.
https://jakearchibald.com/2025/fetch-streams-not-for-progress/
about 2 months ago
4
149
17
I'm in Liverpool this weekend. Chatted to a local old white bloke who spoke with pride about the city having the first mosque in the country, and the first chinatown. And… fuck, I needed to hear that kind of positivity.
about 2 months ago
11
363
15
reposted by
Jake Archibald
MDN Web Docs
about 2 months ago
📣 Web devs — we need your input! We're running a short survey (1–2 min) to understand interest in using ReadableStream as a request body in the Fetch API. Help us guide implementation priorities, especially around support & use cases. Fill it up! 👇
survey.alchemer.com/s3/8460326/...
loading . . .
https://survey.alchemer.com/s3/8460326/Fetch-Request-Streaming
0
14
3
reposted by
Jake Archibald
Tammy Everts 🍁
about 2 months ago
I say this every year and always mean it: WOW, what a speaker (and MC!) lineup we have for
@perfnow.nl
conference this year! I can't wait to see all these folks on the stage! This is when
#PerfNow
ticket sales start to go bananas — and we always sell out — so lock in your ticket soon!
perfnow.nl
loading . . .
performance.now(); 30th and 31st of October, Amsterdam
On 30th and 31st of October, 2025, the sixth edition of performance.now() will take place in Amsterdam—a single track conference, covering today’s most important web performance insights.
https://perfnow.nl/
2
10
5
?????
2 months ago
1
19
0
Interop 2026 is now open for proposals! This is your chance to tell browser-makers which well-defined, well-tested features you wish had better support across browsers. ⬇️ Here's how ⬇️
github.com/web-platform...
loading . . .
https://github.com/web-platform-tests/interop/blob/main/proposal_guide.md
2 months ago
4
39
18
Hey folks! Are you interested in fetch upload streams? If so, what do you want to use them for?
2 months ago
10
30
3
reposted by
Jake Archibald
📝 Making XML human-readable without XSLT. Turns out, JavaScript works pretty well!
jakearchibald.com/2025/making-...
loading . . .
Making XML human-readable without XSLT
JavaScript is right there.
https://jakearchibald.com/2025/making-xml-human-readable-without-xslt/
2 months ago
6
74
15
📝 Making XML human-readable without XSLT. Turns out, JavaScript works pretty well!
jakearchibald.com/2025/making-...
loading . . .
Making XML human-readable without XSLT
JavaScript is right there.
https://jakearchibald.com/2025/making-xml-human-readable-without-xslt/
2 months ago
6
74
15
Folks who use Firefox Developer Edition: What drew you to that version rather than Firefox Release/Beta/Nightly?
2 months ago
31
26
9
Here's a quick and efficient way to remove `autoplay` from videos if the user prefers reduced motion
codepen.io/jaffathecake...
`animationstart` is one of my favourite hacks for monitoring elements appearing in the DOM.
loading . . .
Prevent autoplay if prefers reduced motion
...
https://codepen.io/jaffathecake/pen/vENzMmd?editors=1010
2 months ago
5
54
5
yeah no I'm alright thanks
3 months ago
5
16
1
Yay! It's the first Firefox release since I've joined the team, so let's take a look at some of the new developer-facing features in Firefox 142… 🧵
3 months ago
19
279
42
View Transitions are enabled by default in Firefox Nightly, so they're on their way to stable. Give it a test with your current transitions, and give me a shout if anything doesn't look right.
3 months ago
10
239
47
I'm going to be there (I'm not speaking, but come talk to me). The schedule looks great!
add a skeleton here at some point
3 months ago
1
10
1
reposted by
Jake Archibald
Kevin Marks
3 months ago
There's staging a house, then there's entirely faking it with AI slop, and this one is the latter
www.rightmove.co.uk/properties/1...
loading . . .
Check out this 3 bedroom terraced house for sale on Rightmove
3 bedroom terraced house for sale in Station Road, Eaglescliffe, Stockton-on-Tees, Durham, TS16 for £350,000. Marketed by roseberry newhouse, Teesside
https://www.rightmove.co.uk/properties/161043710#/?channel=RES_BUY
22
73
35
Starting my new role on Monday. Could be anywhere.
3 months ago
45
413
20
Load more
feeds!
log in